Skip to content

Operator Overview

Operator guides for running Garrison Bible Study in production. Example env and Helm values use *.garrison.test hostnames; set your real public domains (for example *.garrisonbible.com) in api/.env.production, .env.production, and Helm overrides. Use your own registry URLs when pulling images.

ComponentDeployment
API, UI, Postgres, Redis, queue worker, CRDT merge workerSelf-host (Docker Compose, Kubernetes, or Portainer)
Scheduler (php artisan schedule:work)Optional in Compose (--profile scheduler); enabled in helm/garrison/values-production.example.yaml
www (marketing)Optional — enable when you want the marketing site in the same stack
DocumentationGitLab Pages (built from docs/ in CI)
MobileApp stores (outside this stack)

Container images and Compose definitions live in docker/ at the repository root. Kubernetes and Argo CD deployments use helm/garrison/.

  • Container runtime (Docker Engine + Compose v2, or Kubernetes)
  • PostgreSQL 16 and Redis 7 (included in Compose/Helm defaults, or external)
  • TLS termination at a reverse proxy or ingress controller
  • GitLab Container Registry (or other registry) credentials if using CI-built images
MethodGuide
Docker ComposeDocker Compose
Production smoke testProduction smoke checklist
PortainerPortainer
Kubernetes (Helm)Kubernetes
Argo CDArgo CD
  • Laravel environment: api/.env.production.example
  • Compose host variables: docker/stack.env.example
  • Helm defaults: helm/garrison/values.yaml
  • Helm production overrides (copy and customize): helm/garrison/values-production.example.yaml
  • Argo CD Application example: helm/garrison/argocd-application.example.yaml

Planning context: Deployment.

GuideDescription
DesignerStudy plan templates, tracks, quizzes, curriculum map (for curriculum authors)
Study plan template MCPConnect AI assistants to study plan authoring (MCP over HTTP, Sanctum tokens)