Two supported paths: single-host Docker Compose, and Kubernetes via the bundled Helm chart.
cp .env.example .env # edit POSTGRES_PASSWORD, SECRET_KEY, S3 keys, etc.
docker compose -f infra/docker/docker-compose.prod.yml up -dnginx terminates TLS and certbot renews Let's Encrypt certs every 12 hours. Edit infra/docker/nginx/nginx.conf and uncomment the ssl_certificate lines once the cert exists.
helm install helpdesk infra/k8s/helm/arabic-helpdesk \
--create-namespace -n helpdesk \
--set ingress.host=helpdesk.example.com \
--set image.tag=0.1.0values.yaml is conservative (LLM_PROVIDER=disabled, two API replicas, one worker). Override with -f values-prod.yaml for HA.
- AWS: Terraform scaffold in
infra/terraform/aws/. Region defaults tome-south-1(Bahrain) to keep data in-Kingdom-adjacent. - GCP: module surface lives under
infra/terraform/gcp/(lands in Phase 7b). - One-click deploys: Railway / Render / Fly buttons in
README.mdonce a public release exists.
make backup # pg_dump + qdrant snapshot + minio mirror → ./backups/YYYY-MM-DD/Restore by reversing the script; the full runbook lives at docs/guides/disaster-recovery.md (Phase 11b).