Skip to content

Deploy (Docker & Helm)

In development

Docker and Helm assets under deploy/ are starter templates only. There is no CI image build, registry publish, Helm OCI chart, or cluster auto-deploy yet. Build and install locally if you try them.

Docker

File Role
deploy/docker/Dockerfile Multi-stage build → Alpine runtime + first-boot entrypoint
deploy/docker/docker-compose.yml Local server on :8743 with a named volume
deploy/docker/entrypoint.sh Init (--noui --non-interactive) if no config.yaml, then server start
docker build -f deploy/docker/Dockerfile -t contextd:local .
cd deploy/docker && docker compose up -d
curl -sf http://127.0.0.1:8743/health

First-boot admin token appears once in container logs.

Details: deploy/docker/README.md.

Helm (Kubernetes)

Chart: deploy/helm/contextd/ — Deployment, Service, PVC, ServiceAccount, optional Ingress.

# load image into your cluster first (kind example)
kind load docker-image contextd:local

helm upgrade --install contextd ./deploy/helm/contextd \
  --namespace contextverse --create-namespace \
  --set image.repository=contextd \
  --set image.tag=local

Limits today (default values): single replica + RWO PVC + local FS backend.

For HA (N× stateless contextd + shared S3/SQL/git), see High availability below — Compose lab under deploy/compose/ha-minio/ and Helm values-ha-s3.yaml.

Details: deploy/helm/contextd/README.md.

High availability (shared backend)

There is no contextd clustering layer (no leader election). HA = ≥2 stateless nodes behind a load balancer + an HA-capable backend (S3 / MinIO / SQL / git). Sticky sessions are not required. Gate rolling restarts on GET /health"status":"ok".

Compose lab (2× contextd + MinIO + Caddy)

docker build -f deploy/docker/Dockerfile -t contextd:local .
cd deploy/compose/ha-minio && docker compose up -d
curl -sf http://127.0.0.1:8743/health

Details: deploy/compose/ha-minio/README.md.

Helm (multi-replica example)

helm upgrade --install contextd ./deploy/helm/contextd \
  -f deploy/helm/contextd/values-ha-s3.yaml \
  --set image.repository=contextd --set image.tag=local

values-ha-s3.yaml sets replicaCount: 2 and persistence.enabled: false. Configure backend.driver: s3 (or SQL/git) in server config — do not scale replicas on a local FS + RWO PVC.

Also available

  • deploy/contextd.service — systemd
  • deploy/contextd.plist — launchd
  • deploy/contextd.winservice.md — Windows service (contextd server service install|start|stop|uninstall)

See Server for health/TLS/upgrades and Install for binaries.