Docker Compose is the quickest way to run the full platform. Kubernetes deployment support is available through Kustomize overlays under infra/k8s.
Runtime installation
Clone the repository and use either compose.dev.yaml, compose.prod.yaml, or the Kubernetes setup workflow. The development Compose profile builds local images and exposes debugging ports. The production Compose profile uses GHCR images, internal networking, resource constraints, worker replicas, and Nginx as the public entry point.
scripts/k8s/setup.sh --mode local --create-kindThe setup script prepares required Secrets and certificates before applying the local Kustomize overlay. Direct kubectl apply -k is supported only after those prerequisites exist; see Kubernetes deployment.
Development toolchain
- Go
1.26.5 - Node.js 26 for both the static-site CI path and dashboard container builds
- Buf for protobuf generation
- Docker for integration tests and container execution tests
make tools
make dependencies
make mockgen # after changing generated-mock interfaces
make test/short
make lint
make build/allFrontend workspaces
The application dashboard and public static site are separate Next.js applications:
cd dashboard && npm ci
cd ../static && npm ciBoth workspaces commit their lockfiles and pin direct dependencies exactly. Use npm ci so local and CI installs reproduce the reviewed dependency graph.
The static site exports plain HTML into static/out and is deployed to GitHub Pages.
Production preparation
Replace development credentials, generated local certificate assumptions, public hostnames, allowed origins, and cookie policy before exposing the stack. Continue with production deployment and certificates and security.
