Runtime Modes¶
Purpose¶
Explain how local and deployment runtime mode topologies differ and how to validate behavior across both.
When To Use This Page¶
- setting up environment-specific workflows
- debugging differences between local and deploy behavior
- validating release readiness after local implementation
Mode Comparison¶
| Mode | Compose File | Typical Use | Key Difference |
|---|---|---|---|
| local | docker-compose.yml | development/test iteration | no deploy ingress layer |
| deploy | docker-compose-deploy.yml | production-like runtime | ingress proxy + deploy service naming |
Runtime Topology¶
flowchart LR
subgraph Local["Local"]
LA["app"] --> LDB["db"]
LA --> LR["redis"]
LR --> LC["celery"]
end
subgraph Deploy["Deploy"]
PX["proxy"] --> DA["app"]
DA --> DDB["db"]
DA --> DR["redis"]
DR --> DC["celery"]
end Validation Workflow¶
- Bring up local runtime mode and run checks.
- Execute smoke suite.
- Bring up deployment runtime mode and repeat checks.
- Compare critical route/auth/task behavior.
# local
docker compose up -d --build
docker compose run --rm app python manage.py check
# deployment runtime mode
docker compose -f docker-compose-deploy.yml up -d --build
docker compose -f docker-compose-deploy.yml run --rm <deploy-app-service> python manage.py check
Common Failure Modes¶
| Symptom | Likely Cause | Fix |
|---|---|---|
| works local, fails deploy | host/csrf/proxy settings mismatch | align env security/network settings |
| async differs by mode | service naming or redis endpoint mismatch | verify broker/backend vars per compose mode |
| static/login issues in deploy | proxy/static or ingress config mismatch | validate deploy ingress and static config |
Contribution expectation
Validate local workflows first, then verify deploy assumptions for high-impact changes.