Prerequisites
- Docker Desktop (Mac/Windows) or Docker Engine (Linux)
- Docker Compose v2+
- API keys:
- Anthropic API key (LLM provider)
- Sandbox provider credentials (Modal or E2B)
- GitHub App (required for private repos)
Quick Start
Run database migrations
The database starts empty. Run migrations to create the required tables (requires Node.js 20+ and pnpm):
Open Proliferate
Visit http://localhost:3000
What Gets Started
| Service | Port | Description |
|---|---|---|
| Web | 3000 | Next.js frontend and API |
| Gateway | 8787 | WebSocket server |
| Worker | - | Background job processor |
| PostgreSQL | 5432 | Database |
| Redis | 6379 | Job queue and cache |
Configuration
Minimal config (local dev)
Modal is the default sandbox provider. If you prefer E2B, set
DEFAULT_SANDBOX_PROVIDER=e2b and add the E2B credentials (see Self‑hosting → Environment Variables). For Modal setup details, see Self‑hosting → Modal Setup.Private repo access requires a GitHub App. See Self‑hosting → GitHub App for the setup checklist.
Start from
.env.example for the full list of environment variables, then fill only what you need for your deployment.LLM proxy is optional. If
LLM_PROXY_URL is unset, sandboxes call Anthropic directly using ANTHROPIC_API_KEY. If you enable the proxy, it must be publicly reachable by your sandbox provider.For production self‑hosting, see Self‑hosting → Environment Variables for the minimal production checklist and feature‑gated options.
Common Commands
Development Mode
For active development with hot reloading:Running services locally requires Node.js 20+ and pnpm. See the repository README for full development setup.
Troubleshooting
Port already in use
Port already in use
Check what’s using the port and stop it:
Docker won't start
Docker won't start
- Ensure Docker Desktop is running
- Try
docker-compose downthendocker-compose up -d - Check Docker logs:
docker-compose logs
Database connection errors
Database connection errors
Wait for PostgreSQL to be healthy:
Out of disk space
Out of disk space
Clean up Docker:
