Skip to content
LabTether

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