Variables & Secrets
Variables d’environnement et secrets utilisés pour configurer Sync-in.
🌱 Variables d’environnement du serveur
Lors de l’initialisation
- SKIP_INIT : Ignore l’étape d’initialisation (migration de la base de données, création du compte administrateur, mise à jour des droits, etc.)
- INIT_ADMIN : Si défini (à
trueou toute autre valeur non vide), force la création du compte administrateur lors de l’initialisation. - INIT_ADMIN_LOGIN : Nom d’utilisateur du compte administrateur à créer lors de l’initialisation.
- INIT_ADMIN_PASSWORD : Mot de passe du compte administrateur à créer lors de l’initialisation.
- PUID : Définit l’identifiant utilisateur (UID) utilisé par le conteneur (utile pour les droits sur les fichiers).
- PGID : Définit l’identifiant de groupe (GID) utilisé par le conteneur (utile pour l’accès aux volumes partagés).
Lors de l’exécution
Tous les paramètres de configuration du serveur Sync-in peuvent être définis via des variables
d’environnement préfixées par SYNCIN_, voir la section correspondante.
🔐 Gestion des secrets
Docker Secrets (notamment dans un environnement Swarm ou Compose) permettent de stocker en toute sécurité des données sensibles (comme des
mots de passe, clés API…) en les montant dans les conteneurs sous forme de fichiers, typiquement dans le dossier /run/secrets/<nom_du_secret>.
Par design, Docker ne transforme jamais directement ces secrets en variables d’environnement, afin de limiter les risques de fuite (par exemple via
docker inspect ou les variables d’environnement accessibles dans le processus).
L'image Docker de Sync-in, ainsi que de nombreuses images officielles (MySQL, PostgreSQL ...), adopte et supporte cette convention *_FILE.
Par exemple, plutôt que de définir directement la variable d’environnement SYNCIN_MYSQL_URL, il est recommandé d’utiliser
SYNCIN_MYSQL_URL_FILE=/run/secrets/mysql_password. Le serveur Sync-in se chargera alors de lire le contenu du fichier spécifié pour initialiser la
variable en interne.
Cette approche garantit une gestion sécurisée des secrets tout en maintenant la compatibilité avec les mécanismes de configuration existants.
Pour plus d'informations, consulter la documentation officielle Docker concernant la gestion des secrets.