A Private ChatGPT at Home
The complete walkthrough for one machine and one household: install the server on hardware you already own, pull a model it can hold, chat with it and with your documents, then make it reachable from your phone without weakening it. Every step here is a pointer into a guide that covers it in full; this page is the thread that ties them into one journey.
1What you are building#
One machine in your house runs the models. Your prompts, your documents, your chat history, and everything derived from them stay on that machine: a default installation sends nothing anywhere, and the only outbound traffic this journey involves is downloading the model files themselves. That claim is auditable, not a slogan: Where Data Lives inventories every store the server keeps and the complete, short list of channels that could ever send a byte out, all of them opt-in. If the machine's firewall blocks everything outbound, the server still serves everything local.
What you get for it is a general assistant in the browser, document chat with citations, and an API surface your other apps can use, all served by the same engine.
2Install and first run#
Pick the supervision style that matches the machine:
- A desktop or gaming PC you also use: desktop mode. The tray application starts the server for your login session and restarts it if it dies.
- A machine that lives in a closet: run it unattended. On Windows,
lmkit service installregisters it as a service so it starts with the machine; on Linux, run it under systemd like any other service. Details in Going Live.
Then open the server's address in a browser. The landing page lists every destination this installation offers, and on first run the setup assistant walks the essential choices. By default the server listens on loopback only and accepts local calls without a key, so nothing in this step requires credentials. That safety default is also why your phone cannot reach it yet; section 5 changes that deliberately. The full first hour, destination by destination, is Start Here.
3Pull a model that fits#
Open the admin panel's Models section and pull a model from the built-in catalog. Downloads run in the background with live progress, and a compact chat model proves the pipeline quickly even on modest hardware.
Fit matters more than fashion: a model's file size approximates its memory footprint at rest, context length adds working memory per active request on top, and the Hardware section shows what your devices offer. The decision of which model earns the memory your machine has is its own guide, The Right Model for Your Machine; the operational details (default-model slots, loading, unloading, imports) are in Choosing and Operating Models. Models load on first use and stay resident to serve the next request without the load cost.
4Chat, then chat with your documents#
Open the Playground. Its Models workbench is the assistant: pick a model, talk, switch models mid-conversation to compare. Its Documents workbench is where the household paperwork starts paying rent: upload a document, ask questions, and the answers cite their sources; a citation click jumps into the document viewer at the cited page, so "where does it say that" is one click. The full tour is The Playground, and the citation machinery goes deeper in Grounded Answers.
The Playground is not a demo beside the product; it is the product's human door. The same engine, models, and policies serve every API, so whatever works here is one API call away: the document chat you just used is a single endpoint, Chat with Documents over the API.
5Reach it from your phone#
By default nothing outside the machine can connect, and the way out of that default is one deliberate, guided step, not a hack. Do it in this order:
- Mint keys. Once the server is network-reachable, keyless API calls are refused, so any app or script that talks to it needs a key first. Mint one per person or app rather than sharing one: each key carries its own scope and expiry, and revoking a lost phone's key touches nothing else. Keys are minted in Access; the token is shown once, at creation (Keys and Authentication).
- Create the operator account. A loopback install may run the admin console without one; a
network-reachable server must not. Setting the first password creates the
adminoperator account; the Security section holds it. - Decide who sees the Playground. It ships gated behind the admin session. For a trusted home network where the family should have it, the Interfaces settings can set its access to Public; each web destination has its own served-or-not toggle.
- Flip the posture. In the Network section, switch from Local only to Network; a restart rebinds the listeners to every interface.
Now a phone or laptop on your Wi-Fi opens the server's address in a browser and gets the same Playground. The server generates a self-signed HTTPS certificate on first run; devices other than the server itself will typically warn about it, and on a home network you accept that warning. A publicly trusted certificate via ACME exists, but validation requires the server's DNS name to be reachable from the internet, which is Going Live territory, not this guide's.
One honest boundary: reachable on your LAN is not the same as reachable from the internet, and this guide stops at the LAN. Port forwarding or dynamic DNS puts the server in front of the whole internet, which raises the bar on everything above. Read Going Live and The Security Model in full before taking that step, or reach the house over a VPN instead and keep the server itself unexposed.
6Point your existing chat apps at it#
You are not limited to the browser. The server speaks the OpenAI, Anthropic, and Ollama API dialects side by side, so a chat app that supports any of them connects with three settings: the base URL (your server's address), an API key from Access, and a model name (or none, to use the server's default). The exact surfaces and their limits are in API Compatibility; if you are moving off a hosted API, Cloud to Local is the runbook.
7What stays in the house#
Everything. Prompts, documents, extractions, and chat runs are processed and stored locally; the server's state resolves under one directory, named in the startup log, and copying that directory backs up the installation (Going Live). Uploaded files are swept automatically after a short retention window by default. There is no usage phoning home, no background upload, no sixth channel: the complete inventory, with lifetimes and deletion paths per store, is Where Data Lives.
8Stated plainly#
- A default install serves everything locally and sends nothing anywhere; the model download is the only outbound step in this journey.
- The Playground is the assistant: chat, document upload, cited answers, zero client code.
- Phone access is one deliberate posture change, and the order is fixed: key, operator account, Playground access, then Network.
- LAN-reachable is the stopping point here; exposing to the internet is a different decision with its own guide.