Deployment
Owner: DevOps
Reviewers: Backend, QA, Operations
Status: Draft
Version: 0.1
Last Updated: 2026-09-16
Review Cycle: Per deployment change
Backend VM Deployment
The current production infrastructure runs on VM/Docker Compose. Kubernetes/GKE remains available in the repository as an optional/reference path, not the primary production deployment path.
High-level flow:
- Prepare VM deploy directory with
docker-compose.ymland.env. - Build and push the backend Docker image for linux/amd64.
- SSH to the VM or use CI/CD SSH deployment.
- Pull the approved image tag on the VM.
- Restart the API service with Docker Compose.
- Verify container status, logs and
/api/health.
Optional Kubernetes Deployment
Kubernetes manifests remain under ../../k8s/ and can be used if the project re-adopts GKE/Kubernetes later.
High-level optional flow:
- Prepare environment secret file from
.env.example. - Install or upgrade PostgreSQL and Redis Helm charts.
- Build and push the backend Docker image for linux/amd64.
- Apply Kustomize overlay:
k8s/services-devork8s/services-prod. - Verify pods, services, ingress, endpoints and
/api/health.
Local Deployment
Use docker compose up for the integrated local stack.
Open Items
- Web production deployment process.
- Mobile release build/distribution process.
- IoT production deployment process on VM or managed services.
- Production VM deploy workflow/service name/image tag convention.