Architettura Docker
Panoramica
| Ambiente | Compose | Servizi | Scopo |
|---|---|---|---|
| Development | deploy/compose/development.yml | mariadb, redis, frappe (monolitico) | Sviluppo macOS con volume app |
| Staging | deploy/compose/staging.yml | configurator, backend, frontend, websocket, workers, scheduler, db, redis | Validazione pre-produzione |
| Production | deploy/compose/production.yml | Identico staging | Produzione |
Development
- Un container Frappe con
bench start - App
ez_factoryosmontata come volume per hot-reload - Volumi:
ez_factoryos_dev_mariadb,ez_factoryos_dev_redis,ez_factoryos_dev_bench
Staging / Production (frappe_docker)
Stack multi-servizio vendorizzato da frappe/frappe_docker:
- configurator: configura il bench, installa l’app, migra il site e sincronizza gli asset
- backend: gunicorn Frappe
- frontend: Nginx interno Frappe per asset e proxy applicativo (porta 8080)
- websocket: socket.io
- queue-short / queue-long: worker RQ
- scheduler: cron Frappe
- db: MariaDB 11.8
- redis-cache / redis-queue: Redis 8.8-alpine
Immagini
| Immagine | Dockerfile | Tag |
|---|---|---|
| Dev | deploy/docker/Dockerfile.dev | build locale |
| Server | deploy/docker/Dockerfile | ghcr.io/<org>/ez-factoryos:sha-<commit> |
Nessun tag latest.
Pin versioni
- Frappe:
version-16 - Python: 3.14.7
- Node: 24
- MariaDB: 11.8
- Redis: 8.8-alpine
- Bench CLI: 5.31.0