Development Setup
Prerequisites
- Go 1.26+
- Node.js (LTS) with npm
- Docker Engine and Docker Compose
- Git
Quick start (Docker)
The fastest way to get a running stack — no .env file needed:
docker compose up
This starts the hub, Postgres, and web console. All secrets are auto-generated on first boot. Open http://localhost:3000 to complete setup in the browser.
To override the default Postgres password:
POSTGRES_PASSWORD=mysecret docker compose up
See .env.example for all available overrides.
Development mode (native)
For a faster edit-reload cycle, run the Go backend and Next.js console natively:
make dev-up
If you need a clean restart (wipes tmux sessions):
make dev-up-restart
Once running:
- Console:
https://localhost:3000 - API health:
http://localhost:8080/healthz
On a fresh local DB, the first browser visit lands on the setup page where you create your admin account.
Contributor Compose stack
For a full integration-like environment that mirrors the production deploy layout:
make bootstrap
This pulls release images and stands up the complete Compose stack locally.
Running tests
make test
Lint and format checks:
make lint
make fmt
Type-check the console frontend:
cd web/console && npx tsc --noEmit
Useful make targets
| Target | Description |
|---|---|
make dev-up |
Start development stack |
make dev-up-restart |
Clean restart of dev stack |
make bootstrap |
Full contributor Compose stack |
make test |
Run all tests |
make lint |
Run linters |
make fmt |
Auto-format code |
make smoke-test |
Run smoke tests against a running stack |
make db-backup |
Back up the Postgres database |