Files
pos-system/deployments/local
Ho Ngoc Hai 6d0ca5bee5 fix: resolve 4 P0 DevOps blockers — image tags, alertmanager, port conflicts
DEVOPS-C-01: Replace hardcoded :latest with IMAGE_TAG placeholder in all 8
production K8s manifests. Update deploy-production.yml to sed-replace
IMAGE_TAG with commit SHA before kubectl apply (remove now-redundant
kubectl set image step).

DEVOPS-C-02: Configure Alertmanager — create alertmanager.yml with Slack +
email receivers (critical/warning/infra routes, inhibition rules). Add
alertmanager:v0.27.0 service to both docker-compose.observability.yml and
deployments/local/docker-compose.yml. Enable prometheus.yml target
(alertmanager:9093).

DEVOPS-C-03: Remove :latest from docker-build.yml main branch push. Now
only SHA tag is pushed for main; :staging+SHA for develop.

DEVOPS-C-04: Add 4 mkt-* services to deployments/local/docker-compose.yml
with unique host ports (facebook:5021, whatsapp:5022, x:5023, zalo:5024)
to eliminate port 5000 conflicts. Add corresponding Traefik routers and
load-balancer entries in infra/traefik/dynamic/routes.yml
(/api/v1/mkt/{facebook,whatsapp,x,zalo}).

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-23 09:46:32 +07:00
..

Local Development Deployment

Docker Compose configuration for running the GoodGo platform locally.

Quick Start

# Setup environment
cp env.local.example .env
cp env.local.example .env.local

# Update all placeholder secrets/connection strings in both files
# before starting the stack.

# Start platform
docker-compose up -d

# View status
docker-compose ps

Access

Documentation

For detailed documentation, see:

Files

  • docker-compose.yml - Service orchestration
  • env.local.example - Sanitized environment variables template
  • .env - Docker Compose interpolation file (fill with real values)
  • .env.local - Local override file (fill with real values)

Common Commands

docker-compose up -d              # Start all
docker-compose logs -f [service]  # View logs
docker-compose down               # Stop all
docker-compose ps                 # Check status

For troubleshooting and advanced usage, see the full documentation above.