Vai al contenuto
Q
QuoteNode

Installation

Variabili d'ambiente di deployment

Variabili d'ambiente minime usate dalle guide di installazione, con link al riferimento completo.

Variabili d’ambiente di deployment

Questa pagina elenca le variabili di cui la maggior parte degli operatori ha bisogno durante l’installazione. Per il catalogo completo, vedi Riferimento variabili d’ambiente.

Variabili core richieste

Variabile Scopo
DB_URL URL JDBC per PostgreSQL, solitamente jdbc:postgresql://postgres:5432/quotenode all’interno di Docker Compose.
DB_NAME Nome del database PostgreSQL.
DB_USERNAME Utente applicativo PostgreSQL.
DB_PASSWORD Password PostgreSQL. Usa un valore casuale lungo.
DB_ENCRYPTION_KEY Chiave esadecimale di 64 caratteri per la cifratura a livello applicativo. Eseguine il backup in modo sicuro.
TIMING_TOKEN_SECRET Segreto HMAC per i controlli di sicurezza dei timing token.
PUBLIC_LINK_PASSWORD_SESSION_SECRET Segreto per le sessioni dei link pubblici protetti da password/PIN.
CORS_ALLOWED_ORIGINS Origini browser esatte autorizzate a chiamare il backend.

Genera i segreti su Linux/macOS:

openssl rand -hex 32
openssl rand -base64 32

Variabili URL pubbliche

Variabile Scopo
CORS_ALLOWED_ORIGINS Deve corrispondere esattamente all’URL del browser, ad esempio https://crm.example.com.
NOTIFICATIONS_PUBLIC_PREFERENCES_URL URL pubblico per i link delle preferenze di notifica, ad esempio https://crm.example.com/notifications/preferences.
DOMAIN Usata dai deployment Docker Compose con proxy interno. Coolify gestisce normalmente i domini al di fuori dell’app.
SERVICE_URL_FRONTEND Variabile di compatibilita opzionale per template operatore e futura automazione di deployment; il file compose Coolify attuale non la consuma direttamente. Mantienila allineata con l’origine frontend se il tuo deployment la usa.

Variabili email

Variabile Scopo
SMTP_HOST Hostname del server SMTP.
SMTP_PORT Porta SMTP, solitamente 587.
SMTP_USERNAME Username dell’account SMTP.
SMTP_PASSWORD Password SMTP o app password.
SMTP_AUTH Solitamente true per SMTP di produzione.
SMTP_STARTTLS Solitamente true per la porta 587.
NOTIFICATIONS_ENABLED Abilita le notifiche.
NOTIFICATIONS_EMAIL_ENABLED Abilita la consegna email per le notifiche.

Variabili PDF, backup e sicurezza

Variabile Valore consigliato per beta Note
PDF_ENABLED true Richiede Gotenberg nello stack.
FEATURE_2FA_ENABLED true Abilita i flussi di autenticazione a due fattori.
SECURITY_BOT_DETECTION_ENABLED true Mantiene attive le protezioni bot sui link pubblici.
SECURITY_TRUSTED_PROXIES vuoto (rilevato automaticamente) Peer reverse proxy attendibili aggiuntivi (IP/CIDR letterali e/o nomi host di servizio). Di norma lascialo vuoto: l’IP del client viene rilevato automaticamente dietro proxy interni (intervalli privati/loopback) e CDN come Cloudflare (tramite CF-Connecting-IP). Impostalo solo per un proxy insolito il cui peer di trasporto è un indirizzo pubblico. Le intestazioni di inoltro da un peer diretto (non interno) vengono sempre ignorate. Verifica la modalità del resolver in Amministrazione → Sicurezza → stato effettivo.
SECURITY_IP_WHITELIST vuoto Whitelist IP dell’operatore opzionale (IP/CIDR separati da virgole). Quando attiva, protegge l’intera superficie di amministrazione, comprese le schermate di accesso e 2FA. Prevale sull’impostazione nell’app e viene applicata all’avvio (nessun rollback automatico — verifica che il tuo indirizzo sia incluso).
SECURITY_IP_WHITELIST_FORCE_DISABLE false Emergenza: imposta true + riavvio per ripristinare da un blocco della whitelist IP (anche quando non riesci ad accedere). Solo ENV.
SECURITY_IP_WHITELIST_CONFIRMATION_WINDOW_SECONDS 120 Per quanto tempo un’attivazione/restringimento nell’app resta in attesa prima di tornare automaticamente alla lista precedente se la sessione non riconferma (sicurezza anti-blocco). Non si applica alla variabile ENV sopra.
BACKUP_ENABLED true per produzione, opzionale per la prima prova locale Usa con un processo di restore testato.
BACKUP_CRON 0 0 2 * * * Ogni giorno alle 02:00 per impostazione predefinita.
GEOIP_ENABLED false Solo interruttore dell’applicazione per Paese — anche interruttore di emergenza. Il database viene caricato e aggiornato in modo indipendente (vedi GEOIP_AUTO_UPDATE), quindi può essere pronto mentre l’applicazione è disattivata. Imposta false + riavvio per ripristinare da un blocco per Paese di GeoIP — questo disattiva l’applicazione in modo affidabile, indipendentemente dalla presenza di un database.
SECURITY_GEOIP_ALLOWED_COUNTRIES vuoto Lista di Paesi consentiti ISO 3166-1 alpha-2 (es. PL,DE); in maiuscolo e validata. Vuoto = nessuna restrizione.
LOG_LEVEL INFO per il primo deploy, riduci più tardi se necessario Usa la diagnostica admin per l’escalation temporanea.

Variabili di release check

Variabile Scopo
VITE_RELEASE_CHECK_ENABLED Abilita i controlli upstream release solo per admin.
VITE_RELEASE_MANIFEST_URL Defaulta a https://quotenode.dev/releases/latest.json.
APP_VERSION Versione di rilascio o tag dell’immagine. Può essere vuoto per i deployment da sorgente.
APP_CHANNEL alpha, beta, rc, dev o stable.
APP_COMMIT_SHA Commit SHA incorporato nei metadati di build quando disponibile.
APP_BUILD_TIME Timestamp di build.
APP_BUILD_NUMBER Numero di build CI.
APP_SOURCE_REF Branch o tag sorgente.
APP_IMAGE_TAG Tag immagine selezionato dal deployment.

Sicurezza della licenza

Non abilitare mai il bypass della firma in un deployment reale:

LICENSE_SKIP_SIGNATURE_CHECK=false

Imposta questo esplicitamente a false in ambienti di produzione e beta. Il file compose defaulta a false quando omesso, ma i deployment reali non dovrebbero fare affidamento su un default implicito per un controllo di sicurezza della licenza. Usa true solo in ambienti di sviluppo locali usa e getta.

Last reviewed: Recently