Local deployment
Run Cradle Server on the same machine as the Cradle client — the simplest topology.
The simplest way to run Cradle is everything on one machine. When you install
the desktop app it can deploy a cradle-server right there, and the client
drives it over the local API. This is the recommended starting point (topology
T0): the brain and the inference live together, with the least moving parts.
[one machine]
Cradle (client) ──API──► cradle-server (LlamaCppRunner, local GPU/CPU)Option A — embedded server (desktop app)
Install the desktop app. On first launch it creates its database in the OS user-data directory and bootstraps an admin API key. Nothing else is required — download a model from the Models page and you are running fully locally.
This is ideal for a single operator on one workstation.
Option B — standalone server on the same host
If you want the headless daemon (for example to keep it running without the GUI open, or to point several clients at it), install and bootstrap the server locally:
# bootstrap the DB and generate an admin key without systemd
cradle server init --data-dir /tmp/cradle-local --skip-systemd
# start the server bound to localhost only
cradle-server --data-dir /tmp/cradle-local --bind 127.0.0.1 --port 31416Then point a client at it:
cradle login --url http://127.0.0.1:31416 --key ck_live_...Bind to 127.0.0.1 to keep it local-only. When you are ready to expose it to
other machines, bind to 0.0.0.0 and put a reverse proxy (Caddy or nginx) in
front for HTTPS — see remote-server deployment.
When to move off local
A local deployment is enough for a single operator and modest message volumes — the bottleneck is the model on the GPU, not the embedded SQLite database. Move to a dedicated GPU server when you need a shared box multiple clients connect to, or to a datacenter service when you need per-tenant isolation.
RAG and knowledge bases
How Cradle grounds agent replies in your own documents — chunking, embedding, retrieval, citations, and web crawl.
Remote server (closed networks)
Deploy cradle-server on a remote host in a closed network, operator-driven through a jump host, and distribute credentials to clients.