Setup Checklist
Setup Checklist
Section titled “Setup Checklist”This page is a commands-only reference checklist for returning users. First-time users: start at Getting Started — it covers everything on one page.
1. Clone and Build
Section titled “1. Clone and Build”git clone https://github.com/RunColony/colony.gitcd colonynpm install && npm run build2. Database
Section titled “2. Database”Skip if using Docker Compose (Postgres is bundled).
# Option A: Neon (free tier)export DATABASE_URL="postgresql://user:pass@ep-xxx.aws.neon.tech/colony?sslmode=require"
# Option B: Local Dockerdocker run -d --name colony-pg -e POSTGRES_USER=colony -e POSTGRES_PASSWORD=colony -e POSTGRES_DB=colony -p 5432:5432 postgres:17-alpineexport DATABASE_URL="postgresql://colony:colony@localhost:5432/colony"Migrations run automatically at agent startup.
3. Configure
Section titled “3. Configure”npx colony init --generateSet environment variables:
export GITHUB_TOKEN=ghp_...export ANTHROPIC_API_KEY=sk-ant-...export DATABASE_URL=postgresql://colony:colony@localhost:5432/colony # skip for Docker ComposeFor Docker, copy .env.example to .env and set values there.
For the complete field reference, see configuration.md.
4. Initialize and Start
Section titled “4. Initialize and Start”Requires a colony.config.yaml from step 3 — run colony init -r only after config exists.
npx colony init -r your-org/your-reponpx colony check # pre-flight checkDocker Compose:
cp .env.example .env && docker compose build && docker compose up -dApple Container:
./scripts/colony-container.sh build && ./scripts/colony-container.sh up -dNative:
npx colony startVerify: docker compose ps, ./scripts/colony-container.sh health, or npx colony status.
5. Verifying Health
Section titled “5. Verifying Health”Dashboard: http://localhost:9106
Health endpoints:
curl -sf http://localhost:9100/health # sprint-mastercurl -sf http://localhost:9200/health # workercurl -sf http://localhost:9106/health # monitor + dashboard6. Webhook Setup (Optional)
Section titled “6. Webhook Setup (Optional)”Webhooks provide near-instant response to GitHub events. Without them, Colony polls every 30 seconds. Polling is the default and works well — webhooks are additive.
Local development
Section titled “Local development”Use a tunnel to expose your local webhook receiver:
Cloudflare Tunnel (recommended):
brew install cloudflaredcloudflared tunnel --url http://localhost:9800ngrok (alternative):
ngrok http 9800GitHub configuration
Section titled “GitHub configuration”In your repository: Settings > Webhooks > Add webhook:
| Field | Value |
|---|---|
| Payload URL | Your tunnel or production URL + /webhook |
| Content type | application/json |
| Secret | Generate with openssl rand -hex 32 |
| Events | Select individual: Issues, Pull requests, Pull request reviews |
Config additions
Section titled “Config additions”webhook: enabled: true secret_env: WEBHOOK_SECRET port: 9800Set the secret:
# Docker — add to .env:# WEBHOOK_SECRET=<secret>
# Native:export WEBHOOK_SECRET=<secret>Restart Colony to pick up the new config.
Next Steps
Section titled “Next Steps”Label a GitHub issue with colony:enqueue and watch Colony process it. See getting-started.md for the full walkthrough, or the First Issue Tutorial for detailed guidance on scoping and reviewing.
For production hardening, see the Deployment Guide.