| title | Quick start |
|---|---|
| description | Get Tale running locally in under 5 minutes. |
This guide walks you through getting Tale running locally for the first time using the Tale CLI.
| Software | Minimum version | Where to get it |
|---|---|---|
| Docker Desktop | 24.0+ | https://www.docker.com/products/docker-desktop |
Tale uses OpenRouter as its default AI gateway, which gives you access to hundreds of models through a single API key.
- Go to https://openrouter.ai and create a free account.
- Navigate to Keys in your account dashboard and generate a new API key.
- Copy the key. You will need it during setup.
Tip: You can use any OpenAI-compatible provider, including a local Ollama instance. OpenRouter is the recommended default for its model variety and simple pricing.
Linux / macOS:
curl -fsSL https://raw.githubusercontent.com/tale-project/tale/main/scripts/install-cli.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/tale-project/tale/main/scripts/install-cli.ps1 | iexOr download the binary directly from GitHub Releases:
# Linux
curl -fsSL https://github.com/tale-project/tale/releases/latest/download/tale_linux \
-o /usr/local/bin/tale
chmod +x /usr/local/bin/taletale init my-project
cd my-projectThe CLI prompts for your domain, API key, and TLS mode. Security secrets (BETTER_AUTH_SECRET, ENCRYPTION_SECRET_HEX) are generated automatically.
Tip: The CLI also generates configuration files for AI-powered editors (Claude Code, Cursor, GitHub Copilot, Windsurf) and extracts the full platform source code to
.tale/reference/. Open your project in any of these editors to create and edit agents, workflows, and integrations by describing what you want in natural language. See AI-assisted development for details.
tale startWait for the ready message:
Tale Dev v0.x.x Ready.
Note: The version number will vary. You will see a stream of health check messages while services are starting. Those are normal. Wait for the "Ready" message before opening your browser.
Go to https://localhost (or your configured domain) in your browser. The first time you open it, you will be taken to a sign-up page to create your admin account.
tale start # Start all services
tale start --detach # Start in backgroundTo stop all services while keeping your data:
docker compose -p tale-dev downThe -p tale-dev flag is required because tale start creates a compose project named tale-dev rather than using a standard docker-compose.yml file.
Important: Never run
docker compose -p tale-dev down -v. The-vflag deletes all Docker volumes, which permanently erases your database, uploaded documents, crawler state, and all platform data. There is no recovery from this.
tale upgrade # Upgrade CLI and sync project filestale convex admin # Generate admin key for the Convex DashboardOpen /convex-dashboard in your browser and paste the key to inspect the database, view function logs, and manage background jobs.
If you want to contribute to Tale or customize the platform code, you can run from source instead of using pre-built images.
git clone https://github.com/tale-project/tale.git
cd tale
cp .env.example .envEdit .env and fill in the required values:
| Variable | How to fill it in |
|---|---|
BETTER_AUTH_SECRET |
Generate with: openssl rand -base64 32 |
ENCRYPTION_SECRET_HEX |
Generate with: openssl rand -hex 32 |
DB_PASSWORD |
Choose any password for the local database |
Important: The
.env.examplefile ships with example secrets that must be replaced before starting.
Then build and start:
docker compose up --buildBuild times vary by service (all 5 services build in ~3 minutes in parallel on a modern system). Subsequent builds are much faster thanks to Docker layer caching.
For a faster edit-reload cycle during development, use the development override:
docker compose -f compose.yml -f compose.dev.yml up --buildThis mounts your local source directories into the containers so changes are reflected immediately without rebuilding images.
After modifying Dockerfiles or dependencies, validate your changes:
# Smoke test: build, start, health check, tear down
bun run docker:test
# Image validation: OCI labels, secrets, size budgets
bun run docker:test:image
# Vulnerability scan (requires trivy installed)
bun run docker:test:vulnerabilitySee Contributing Docker guide for more details.