Docker Compose Builder

Configure your swarm and generate docker-compose + .env files

Integrations

Swarm Configuration

Lead

x1

Workers

2

Settings

Preview

# Docker Compose for Agent Swarm
# Generated by Agent Swarm Templates Builder
#
# Usage:
# docker-compose --env-file .env up -d
services:
api:
image: "ghcr.io/desplega-ai/agent-swarm:latest"
pull_policy: always
stop_grace_period: 60s
environment:
- API_KEY=${API_KEY}
- MCP_BASE_URL=${MCP_BASE_URL}
- APP_URL=${APP_URL}
ports:
- "3013:3013"
volumes:
- swarm_api:/app
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:3013/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
restart: unless-stopped
lead:
image: "ghcr.io/desplega-ai/agent-swarm-worker:latest"
pull_policy: always
stop_grace_period: 60s
depends_on:
api:
condition: service_healthy
environment:
- CLAUDE_CODE_OAUTH_TOKEN=${CLAUDE_CODE_OAUTH_TOKEN}
- API_KEY=${API_KEY}
- AGENT_ID=00000000-0000-4000-8000-000000000001
- AGENT_NAME=Lead
- AGENT_ROLE=lead
- TEMPLATE_ID=official/lead
- MCP_BASE_URL=http://api:3013
- YOLO=true
- SWARM_URL=${SWARM_URL:-localhost}
- GITHUB_TOKEN=${GITHUB_TOKEN:-}
- GITHUB_EMAIL=${GITHUB_EMAIL:-}
- GITHUB_NAME=${GITHUB_NAME:-}
ports:
- "3020:3000"
volumes:
- swarm_logs:/logs
- swarm_shared:/workspace/shared
- swarm_lead:/workspace/personal
restart: unless-stopped
worker-worker-1:
image: "ghcr.io/desplega-ai/agent-swarm-worker:latest"
pull_policy: always
stop_grace_period: 60s
depends_on:
api:
condition: service_healthy
environment:
- CLAUDE_CODE_OAUTH_TOKEN=${CLAUDE_CODE_OAUTH_TOKEN}
- API_KEY=${API_KEY}
- AGENT_ID=00000000-0000-4000-8000-000000000002
- AGENT_NAME=Coder 1
- AGENT_ROLE=worker
- TEMPLATE_ID=official/coder
- MCP_BASE_URL=http://api:3013
- YOLO=true
- SWARM_URL=${SWARM_URL:-localhost}
- GITHUB_TOKEN=${GITHUB_TOKEN:-}
- GITHUB_EMAIL=${GITHUB_EMAIL:-}
- GITHUB_NAME=${GITHUB_NAME:-}
ports:
- "3021:3000"
volumes:
- swarm_logs:/logs
- swarm_shared:/workspace/shared
- swarm_worker_worker_1:/workspace/personal
restart: unless-stopped
worker-worker-2:
image: "ghcr.io/desplega-ai/agent-swarm-worker:latest"
pull_policy: always
stop_grace_period: 60s
depends_on:
api:
condition: service_healthy
environment:
- CLAUDE_CODE_OAUTH_TOKEN=${CLAUDE_CODE_OAUTH_TOKEN}
- API_KEY=${API_KEY}
- AGENT_ID=00000000-0000-4000-8000-000000000003
- AGENT_NAME=Coder 2
- AGENT_ROLE=worker
- TEMPLATE_ID=official/coder
- MCP_BASE_URL=http://api:3013
- YOLO=true
- SWARM_URL=${SWARM_URL:-localhost}
- GITHUB_TOKEN=${GITHUB_TOKEN:-}
- GITHUB_EMAIL=${GITHUB_EMAIL:-}
- GITHUB_NAME=${GITHUB_NAME:-}
ports:
- "3022:3000"
volumes:
- swarm_logs:/logs
- swarm_shared:/workspace/shared
- swarm_worker_worker_2:/workspace/personal
restart: unless-stopped
volumes:
swarm_api:
swarm_logs:
swarm_shared:
swarm_lead:
swarm_worker_worker_1:
swarm_worker_worker_2: