deploy(compose): SESSION_COOKIE_SECURE per l'on-premise su HTTP in LAN (#38)

docker-compose.dev.yml (Nginx senza SSL, l'installazione on-premise):
default false. .env.example: default true documentato, con la spiegazione
di quando va a false. La lettura in src/frontend/flask_app/config.py è
del lotto B2, non ancora landata: qui si documenta e si predispone solo
la variabile lato deploy.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-21 22:40:06 +02:00
parent ac76c0a395
commit 1576fa190b
2 changed files with 25 additions and 0 deletions
+21
View File
@@ -59,6 +59,27 @@ SETUP_PASSWORD= # Password per /api/setup, vuoto = disabilitato
OPENROUTER_API_KEY= # API key per parsing schede tecniche, vuoto = disabilitato
OPENROUTER_MODEL=anthropic/claude-sonnet-4 # Modello AI da utilizzare
# --- Deploy (introdotte dalla revisione del 21/09/2026) ---
# Dominio pubblico dell'installazione, usato nelle rule Traefik di
# docker-compose.yml (produzione). Obbligatorio, senza default.
APP_DOMAIN=
# Quanti hop di reverse proxy fidati ci sono davanti al server (Nginx o
# Traefik): serve a calcolare l'IP reale del tablet per il rate limiter.
TRUSTED_PROXY_COUNT=1
# Numero di worker Uvicorn del server. Il Dockerfile ne avvia 4 di default
# indipendentemente da questa variabile; impostarla esplicitamente per farla
# coincidere se si cambia il numero di worker nell'immagine.
WEB_CONCURRENCY=1
# Cookie di sessione Flask con flag Secure. true di default (richiede HTTPS,
# come dietro Traefik in docker-compose.yml). Le installazioni on-premise su
# rete LAN in HTTP semplice (docker-compose.dev.yml, Nginx senza SSL) la
# impostano a false, altrimenti il browser non rimanda mai indietro il cookie.
SESSION_COOKIE_SECURE=true
# Timeout (secondi) di un'esecuzione del worker di visione.
VISION_RUN_TIMEOUT_S=100
# Quante esecuzioni di visione in parallelo accetta il worker.
VISION_MAX_CONCURRENCY=2
# --- Docker ---
# DB_ROOT_PASSWORD: in produzione (docker-compose.yml) obbligatoria, senza default.
DB_ROOT_PASSWORD=root_password_change_me
+4
View File
@@ -79,6 +79,10 @@ services:
- .env
environment:
API_SERVER_URL: http://server:8000
# Nginx qui non termina SSL (vedi nginx/nginx.conf): un'installazione
# on-premise su LAN in HTTP semplice ha bisogno del cookie non-secure,
# altrimenti il browser non lo rimanda mai indietro.
SESSION_COOKIE_SECURE: ${SESSION_COOKIE_SECURE:-false}
depends_on:
server:
condition: service_healthy