πŸŽ‰ Now open source Β· v0.1.0-alpha-2 β€” Join the waitlist for GA notifications Join waitlist β†’
04 β€” Configure & run

Start CoStaff

Bring the full stack up with one command. First run builds images; later runs reuse the cache.

costaff start

Preflight check

Before touching Docker, costaff start validates your .env: the model API key, the database URI, the security secrets, and the workspace directory. Anything fatal (e.g. no GOOGLE_API_KEY) aborts the start with the exact fix β€” instead of letting a container crash-loop. Skip it with --no-preflight if you know what you're doing.

What happens

Layered start, in this order:

  1. Postgres β€” bundled postgres:15 container holding sessions, project tasks, and identity tables.
  2. Registered agents β€” each agent's A2A endpoint + MCP server come up.
  3. Manager Agent β€” the orchestrator, on port 18080.
  4. Channels β€” WebChat, Telegram, etc.

The first run also builds the Docker images, which takes a few minutes. Later starts hit the build cache and finish in seconds.

Other lifecycle commands

CommandWhat it does
costaff startLayered up. Builds images if missing.
costaff start --no-buildStart without rebuilding β€” fast.
costaff start --no-preflightSkip the .env preflight validation.
costaff stopStop all containers; volumes retained.
costaff restartStop, then start. Equivalent to stop + start.

Default ports

ServiceHost port
Manager Agent18080
Channels (WebChat, …)18090–18099, auto-assigned in add order β€” costaff channel list shows each channel's port
Specialist agents (A2A health)18100–18199, auto-assigned, bound to 127.0.0.1 only
Postgres5432

Override COSTAFF_AGENT_PORT in ~/.costaff/costaff/.env if the Manager port conflicts with something on your host.