fix(deploy): APP_ENV esplicito nei compose (#33)

docker-compose.yml (produzione) non impostava APP_ENV: la guardia
_refuse_default_secrets_outside_dev in src/backend/config.py non
scattava mai perché il default è "dev". Aggiunto APP_ENV: production
al servizio server; docker-compose.dev.yml imposta APP_ENV: dev in
modo esplicito. Tabella env in docs/DEPLOYMENT.md aggiornata.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-21 23:22:39 +02:00
parent ddb764d639
commit 2de226f1fd
3 changed files with 3 additions and 0 deletions
+1
View File
@@ -31,6 +31,7 @@ services:
env_file: env_file:
- .env - .env
environment: environment:
APP_ENV: dev
DB_HOST: mysql DB_HOST: mysql
UPLOAD_DIR: uploads UPLOAD_DIR: uploads
VISION_WORKER_URL: http://vision:8100 VISION_WORKER_URL: http://vision:8100
+1
View File
@@ -31,6 +31,7 @@ services:
env_file: env_file:
- .env - .env
environment: environment:
APP_ENV: production
DB_HOST: mysql DB_HOST: mysql
UPLOAD_DIR: uploads UPLOAD_DIR: uploads
VISION_WORKER_URL: http://vision:8100 VISION_WORKER_URL: http://vision:8100
+1
View File
@@ -146,6 +146,7 @@ Introdotte dalla revisione del 21/09/2026:
| Variable | Type | Default | Description | | Variable | Type | Default | Description |
|----------|------|---------|-------------| |----------|------|---------|-------------|
| `APP_ENV` | string | dev | Ambiente di esecuzione. `dev`/`test` saltano il controllo sui segreti di default; qualsiasi altro valore lo attiva. `docker-compose.yml` lo imposta a `production`, `docker-compose.dev.yml` a `dev` |
| `APP_DOMAIN` | string | *(nessuno, obbligatoria)* | Dominio pubblico dell'installazione, usato nelle rule Traefik di `docker-compose.yml` (solo produzione) | | `APP_DOMAIN` | string | *(nessuno, obbligatoria)* | Dominio pubblico dell'installazione, usato nelle rule Traefik di `docker-compose.yml` (solo produzione) |
| `TRUSTED_PROXY_COUNT` | int | 1 | Quanti hop di reverse proxy fidati stanno davanti al server, per calcolare l'IP reale del tablet | | `TRUSTED_PROXY_COUNT` | int | 1 | Quanti hop di reverse proxy fidati stanno davanti al server, per calcolare l'IP reale del tablet |
| `WEB_CONCURRENCY` | int | 1 | Numero di worker Uvicorn del server; il `Dockerfile` ne avvia 4 di default indipendentemente da questa variabile | | `WEB_CONCURRENCY` | int | 1 | Numero di worker Uvicorn del server; il `Dockerfile` ne avvia 4 di default indipendentemente da questa variabile |