October 2025. Full configuration:
- MySQL
- Redis
- Backend
- Frontend (dev server)
- Dispatcher
- Worker
- Nginx
- HTML Cache Generator
8 containers. Builds in 10 minutes. Crashes regularly.
Problem
For a demo site this is overkill. Client wants to see - wait 10 minutes for it to come up.
Redis needed for session cache. But can do it in memory.
Dispatcher needed for queues. But can run in the same process.
LITE profile
Two containers: Backend + Nginx.
- SQLite instead of MySQL (optional)
- In-memory cache instead of Redis
- Dispatcher embedded in backend
- Frontend built statically
Result
Before: 10 minutes startup, 500MB RAM After: 260ms startup, 23MB RAM
When LITE
- Demo
- Development
- Small sites
- Testing
When full
- Production with load
- When Redis is needed (pub/sub, distributed cache)
- When many background tasks
Switching - one variable in .env. PROFILE=lite or PROFILE=full.