DocsGetting StartedInstallation

Installation

Prerequisites and development setup.

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-kind

The 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/all

Frontend workspaces

The application dashboard and public static site are separate Next.js applications:

cd dashboard && npm ci
cd ../static && npm ci

Both 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.