Runtime and Deployment Choices
This page is the short operator view for platform owners. It explains which setup decisions matter before diving into the deeper system documentation.
Recommended standard choices
For most real environments:
- use PostgreSQL instead of SQLite
- use Redis for broker, cache, and websocket transport
- mount
/app/datato persistent storage - set
FRONTEND_BASE_URLso email links are correct - set
DJANGO_ALLOWED_HOSTSexplicitly
When SQLite is still acceptable
SQLite is still reasonable for:
- demos
- light pilot environments
- very small teams with low write concurrency
Move to PostgreSQL when:
- multiple admins work in parallel
- queues and background jobs matter
- archive and payload volume starts growing
How Docker configuration normally arrives
The container is usually bootstrapped through:
CONFIG_JSON_B64- or a mounted
/run/secrets/app-config.json
That payload becomes the effective .env used at startup.
Common mistakes
REDIS_LOCAL=falsewithout also setting external Redis URLs- relying on internal Redis persistence even though bundled Redis runs without disk persistence
- using
ALLOWED_HOSTSinstead ofDJANGO_ALLOWED_HOSTS - assuming
DEBUGis environment-driven even though the current code hardcodes it
Where to go next
- runtime variables: System Documentation: Environment Variables
- Docker behavior: System Documentation: Docker Setup
- database decisions: System Documentation: Database Runtime
- Redis and queues: System Documentation: Redis and Queues
- workers and sizing: System Documentation: Celery and Worker Runtime and Sizing and Requirements