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:
@@ -59,6 +59,27 @@ SETUP_PASSWORD= # Password per /api/setup, vuoto = disabilitato
|
|||||||
OPENROUTER_API_KEY= # API key per parsing schede tecniche, vuoto = disabilitato
|
OPENROUTER_API_KEY= # API key per parsing schede tecniche, vuoto = disabilitato
|
||||||
OPENROUTER_MODEL=anthropic/claude-sonnet-4 # Modello AI da utilizzare
|
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 ---
|
# --- Docker ---
|
||||||
# DB_ROOT_PASSWORD: in produzione (docker-compose.yml) obbligatoria, senza default.
|
# DB_ROOT_PASSWORD: in produzione (docker-compose.yml) obbligatoria, senza default.
|
||||||
DB_ROOT_PASSWORD=root_password_change_me
|
DB_ROOT_PASSWORD=root_password_change_me
|
||||||
|
|||||||
@@ -79,6 +79,10 @@ services:
|
|||||||
- .env
|
- .env
|
||||||
environment:
|
environment:
|
||||||
API_SERVER_URL: http://server:8000
|
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:
|
depends_on:
|
||||||
server:
|
server:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
|||||||
Reference in New Issue
Block a user