Vai al contenuto principale

Variabili e segreti

Variabili d'ambiente e segreti utilizzati per configurare Sync-in.


🌱 Variabili d'ambiente del server​

Durante l'inizializzazione​

  • SKIP_INIT: ignora la fase di inizializzazione (migrazione del database, creazione dell'account amministratore, aggiornamento delle autorizzazioni e così via). È una soluzione eccezionale, destinata esclusivamente a evitare migrazioni simultanee tra repliche o ai casi in cui l'inizializzazione è gestita da un'attività di distribuzione dedicata. Negli altri casi, inclusi gli aggiornamenti, non attivare SKIP_INIT: l'inizializzazione può applicare migrazioni obbligatorie o configurazioni specifiche della versione.
  • INIT_ADMIN: se impostata (su true o su qualsiasi altro valore non vuoto), forza la creazione dell'account amministratore durante l'inizializzazione.
  • INIT_ADMIN_LOGIN: nome utente dell'account amministratore da creare durante l'inizializzazione.
  • INIT_ADMIN_PASSWORD: password dell'account amministratore da creare durante l'inizializzazione.
  • PUID: definisce l'identificatore utente (UID) utilizzato dal container, utile per le autorizzazioni dei file.
  • PGID: definisce l'identificatore del gruppo (GID) utilizzato dal container, utile per l'accesso ai volumi condivisi.

Durante l'esecuzione​

Tutti i parametri di configurazione del server Sync-in possono essere definiti mediante variabili d'ambiente con prefisso SYNCIN_; consulta la sezione corrispondente.


🔐 Gestione dei segreti​

Docker Secrets, in particolare in un ambiente Swarm o Compose, consentono di archiviare in modo sicuro dati sensibili come password e chiavi API montandoli nei container come file, in genere nella directory /run/secrets/<secret_name>.

Per progettazione, Docker non converte mai direttamente questi segreti in variabili d'ambiente, così da limitare il rischio di esposizione, ad esempio tramite docker inspect o variabili d'ambiente accessibili dal processo. L'immagine Docker di Sync-in, come molte immagini ufficiali (MySQL, PostgreSQL e altre), adotta e supporta questa convenzione *_FILE.

Ad esempio, invece di definire direttamente la variabile d'ambiente SYNCIN_MYSQL_URL, è consigliabile utilizzare SYNCIN_MYSQL_URL_FILE=/run/secrets/mysql_password. Il server Sync-in leggerà quindi il contenuto del file specificato per inizializzare internamente la variabile.

Questo approccio garantisce una gestione sicura dei segreti, mantenendo la compatibilità con i meccanismi di configurazione esistenti.

Per maggiori informazioni sulla gestione dei segreti, consulta la documentazione ufficiale di Docker.