Self-hosted quickstart
Get a working Tale instance running on your machine in three commands with the tale CLI — install, tale init, tale start, then sign in.
4 min read
This is the fastest way to a running Tale: install the tale CLI, then two commands. The result is your own org running on your own machine, reachable in the browser. It is meant for a laptop or a single host you want to try Tale on; when you are ready to run it for real, the Linux server walk covers a hardened production install.
You need one thing to start, and one thing before an agent can answer:
- Docker Desktop (v24+) running, or Docker Engine plus the Compose plugin on Linux. That is the only prerequisite for getting the stack up.
- An OpenRouter API key (or any OpenAI-compatible provider) so agents have a model to talk to. You do not need it for
tale init— you add it in the app after sign-up, in the setup wizard or under Settings > Providers, and you can swap in any provider later.
Step 1 — Install the CLI
On macOS or Linux:
curl -fsSL https://raw.githubusercontent.com/tale-project/tale/main/scripts/install-cli.sh | bashOn Windows (PowerShell):
irm https://raw.githubusercontent.com/tale-project/tale/main/scripts/install-cli.ps1 | iexThe installer detects your OS, drops the tale binary on your PATH, and is the only step that touches your system. Confirm it landed:
tale --versionStep 2 — Create a project
tale init my-project
cd my-projecttale init scaffolds a project directory and asks a single question — local trial or production domain — then generates every security secret for you and writes the .env, so there is nothing to hand-edit. It does not ask for an API key; that is collected in the app once you sign in. It also drops example agents, workflows, and integrations under default/, and generates editor config for Claude Code, Cursor, Copilot, and Windsurf so an AI editor can build configs with full schema awareness.
Step 3 — Start Tale
tale startThe first run pulls the images and builds the container graph — expect five to ten minutes on a fresh machine. Once the platform reports ready (Tale Platform is running), tale start opens your browser automatically. If it cannot, it prints the URL to visit.
Your browser shows a certificate warning for the local self-signed certificate. That is expected — accept it to continue.
Your config under default/ is bind-mounted into the running instance, so edits to agents, workflows, and integrations reload live. Stop the stack with Ctrl-C (or tale start --detach to run it in the background).
Step 4 — Create your account
On the sign-in screen, click Sign up and fill in your name, email, and a password. The first account on a brand-new instance claims the Owner role and creates your Organization. You land in the dashboard.
If the sign-up screen asks for a one-time admin key, First admin is the short walk that prints it and explains how to close signup once your team is in.
Step 5 — Add a model and publish an agent
You now have an empty org. Two moves get you to something useful:
- Add your OpenRouter key. The setup wizard prompts for it right after you create the owner account; if you skipped it, open Settings > Providers and paste it there. A tick on the provider row means the key works.
- Publish your first agent — Create an agent takes it from a role and some instructions to a working specialist.
From here the Platform docs are the canonical reference for every feature, and they are identical to Cloud.
Prefer raw Docker Compose?
The CLI wraps docker compose so you do not have to. If you would rather run the stack from a clone of the repository and manage compose yourself — for transparency, air-gapped builds, or your own automation — clone the repo, copy .env.example to .env, set HOST and SITE_URL, generate the secrets, and docker compose up -d. The Linux server walk and the Docker Compose reference cover that path end to end.
Troubleshooting
talenot found after install. The installer names the destination directory in its output; make sure that directory is on yourPATH(on Linux it is usually/usr/local/bin).tale startexits with a port conflict. Another service already binds 443 on the host. Free it, or start on a different port withtale start --port 8443.- Docker is not running.
tale startneeds the Docker daemon up. Start Docker Desktop (orsudo systemctl start dockeron Linux) and retry. - A container crash-loops on first boot. Almost always a missing secret — re-run
tale start, which re-runs environment setup, or inspect logs withtale logs platform.
Where this gets used
You now have a working Tale instance on your machine. To run it for real, the Linux server walk covers TLS, firewall, a non-root user, and the operational hooks you want before real traffic lands; CLI install sets the CLI up to deploy and upgrade a remote instance from your workstation.