Quick start
Start the control plane with Docker Compose, create the first account, connect a worker and run a verified task.
Self-hosted
This is the shortest complete path, using the commands from the core repository's tested deployment documentation. It takes about fifteen minutes. On the managed cloud, skip step 1 and sign up instead — see Managed cloud.
Start the control plane
You need Docker with Docker Compose, Git and Node.js 20 or newer.
git clone https://github.com/ankulalwani/agent-orchestration.git && cd agent-orchestration
cp .env.example .env
# Generate the two required secrets and put them into .env as JWT_SECRET and ENCRYPTION_KEY:
node -e "console.log('JWT_SECRET=' + require('crypto').randomBytes(32).toString('hex'))"
node -e "console.log('ENCRYPTION_KEY=' + require('crypto').randomBytes(32).toString('hex'))"
docker compose up -d --build # control plane + web, MongoDB, Redis
curl http://localhost:4000/healthzCreate the first account
Open http://localhost:4000 and register. The first account becomes the installation's platform administrator. Migrations run automatically.
Install a worker
On a machine that has your code and at least one coding agent signed in (for example Claude Code), from a checkout of the repository:
pnpm install; node scripts/package-worker.mjs
powershell -ExecutionPolicy Bypass -File installers\windows\install-worker.ps1pnpm install && node scripts/package-worker.mjs
./installers/macos/install-worker.shpnpm install && node scripts/package-worker.mjs
./installers/linux/install-worker.shThe installer starts the worker and opens its local UI at http://127.0.0.1:47821.
Pair the worker
In the worker UI choose My self-hosted server and enter http://localhost:4000 (or your server's
address). The worker shows a code such as ABCD-1234; approve it in the dashboard. The worker appears under
Workers with the agents it detected.
Create a project and a task
In the dashboard create a project (or connect GitHub), map it to the local checkout in the worker UI (Projects) if the worker did not find it by itself, then Tasks → New task. Describe the change; the worker detects tests, type checks, lint and build from the project files.
The task runs, is verified, and is committed on a task branch (ao/…). Its report separates what the checks
proved from what the agent claimed.
Next
- Concepts explains what just happened.
- Production settings before exposing the server to others.
- Add-on models so tasks continue when an agent hits its limit.