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

VariabileScopo
DB_URLURL JDBC per PostgreSQL, solitamente jdbc:postgresql://postgres:5432/quotenode all’interno di Docker Compose.
DB_NAMENome del database PostgreSQL.
DB_USERNAMEUtente applicativo PostgreSQL.
DB_PASSWORDPassword PostgreSQL. Usa un valore casuale lungo.
DB_ENCRYPTION_KEYChiave esadecimale di 64 caratteri per la cifratura a livello applicativo. Eseguine il backup in modo sicuro.
TIMING_TOKEN_SECRETSegreto HMAC per i controlli di sicurezza dei timing token.
PUBLIC_LINK_PASSWORD_SESSION_SECRETSegreto per le sessioni dei link pubblici protetti da password/PIN.
CORS_ALLOWED_ORIGINSOrigini browser esatte autorizzate a chiamare il backend.

Genera i segreti su Linux/macOS:

openssl rand -hex 32
openssl rand -base64 32

Variabili URL pubbliche

VariabileScopo
CORS_ALLOWED_ORIGINSDeve corrispondere esattamente all’URL del browser, ad esempio https://crm.example.com.
NOTIFICATIONS_PUBLIC_PREFERENCES_URLURL pubblico per i link delle preferenze di notifica, ad esempio https://crm.example.com/notifications/preferences.
DOMAINUsata dai deployment Docker Compose con proxy interno. Coolify gestisce normalmente i domini al di fuori dell’app.
SERVICE_URL_FRONTENDVariabile 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

VariabileScopo
SMTP_HOSTHostname del server SMTP.
SMTP_PORTPorta SMTP, solitamente 587.
SMTP_USERNAMEUsername dell’account SMTP.
SMTP_PASSWORDPassword SMTP o app password.
SMTP_AUTHSolitamente true per SMTP di produzione.
SMTP_STARTTLSSolitamente true per la porta 587.
NOTIFICATIONS_ENABLEDAbilita le notifiche.
NOTIFICATIONS_EMAIL_ENABLEDAbilita la consegna email per le notifiche.

Variabili PDF, backup e sicurezza

VariabileValore consigliato per betaNote
PDF_ENABLEDtrueRichiede Gotenberg nello stack.
FEATURE_2FA_ENABLEDtrueAbilita i flussi di autenticazione a due fattori.
SECURITY_BOT_DETECTION_ENABLEDtrueMantiene attive le protezioni bot sui link pubblici.
SECURITY_TRUSTED_PROXIESvuoto (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_WHITELISTvuotoWhitelist 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_DISABLEfalseEmergenza: imposta true + riavvio per ripristinare da un blocco della whitelist IP (anche quando non riesci ad accedere). Solo ENV.
SECURITY_IP_WHITELIST_CONFIRMATION_WINDOW_SECONDS120Per 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_ENABLEDtrue per produzione, opzionale per la prima prova localeUsa con un processo di restore testato.
BACKUP_CRON0 0 2 * * *Ogni giorno alle 02:00 per impostazione predefinita.
GEOIP_ENABLEDfalseSolo 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_COUNTRIESvuotoLista di Paesi consentiti ISO 3166-1 alpha-2 (es. PL,DE); in maiuscolo e validata. Vuoto = nessuna restrizione.
LOG_LEVELINFO per il primo deploy, riduci più tardi se necessarioUsa la diagnostica admin per l’escalation temporanea.

Variabili di release check

VariabileScopo
VITE_RELEASE_CHECK_ENABLEDAbilita i controlli upstream release solo per admin.
VITE_RELEASE_MANIFEST_URLDefaulta a https://quotenode.dev/releases/latest.json.
APP_VERSIONVersione di rilascio o tag dell’immagine. Può essere vuoto per i deployment da sorgente.
APP_CHANNELalpha, beta, rc, dev o stable.
APP_COMMIT_SHACommit SHA incorporato nei metadati di build quando disponibile.
APP_BUILD_TIMETimestamp di build.
APP_BUILD_NUMBERNumero di build CI.
APP_SOURCE_REFBranch o tag sorgente.
APP_IMAGE_TAGTag 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