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
trueo 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.