One compose file, one Postgres, your own infrastructure. Four steps from here to a live appliance — no cluster, no queue service, no vendor call.
The Docker image, the compose file below, and a licence key that verifies offline. Your data never leaves your machines — an air-gapped install is a fully licensed install.
Jump to the quickstartWe'll stand Control up on a cloud account you own — still your instance, still your data, we never operate shared infrastructure holding it. Not available yet; tell us you want it.
beta@talonlabs.devFour values are required — compose refuses to start without them, deliberately. The template pins a known-good image tag and documents everything optional below the divider.
Escrow the encryption key in your password manager before first boot. It encrypts every stored credential; lose it and a restored database is ciphertext.
Open http://localhost:3001 on the host — /setup creates your admin account on first boot. The app binds to loopback only, on purpose: to reach it from anywhere else, put a reverse proxy (Caddy, cloudflared) in front — that proxy's origin is what NEXTAUTH_URL should say.
Paste the key from your email under Settings → License. It's an Ed25519-signed payload verified against our public key, locally — no licence server, no phone-home. A missing or expired key degrades to the free tier; it never locks you out of your own data.
One licence, one self-hosted instance, every update included — the key arrives by email minutes after checkout.
Running Kubernetes? A Helm chart ships alongside the appliance — mail beta@talonlabs.dev and we'll set you up. For the longer walkthrough — what a fresh install contains, connecting mail and AI providers, building your fleet — read the install guide.
Buy the licence, curl two files, compose up — and paste the key that's already in your inbox.