Aller au contenu principal

Variables et 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, quelle que soit sa valeur, crée le compte administrateur lors de l'initialisation s'il n'existe pas déjà.
  • 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).
  • FORCE_PERMISSIONS: Si défini à true, force récursivement les permissions (PUID, PGID, répertoires : 750, fichiers : 640) sur le volume /app/data.
  • SYNC_IN_HEALTHCHECK_URL : Définit l'URL interrogée par le healthcheck depuis l'intérieur du conteneur. Sa valeur par défaut est http://127.0.0.1:8080/healthz/ready. Surchargez-la uniquement si l'adresse interne, le port interne ou le chemin du serveur change. Ne la modifiez pas lorsque seul le port publié sur l'hôte change.

Lors de l'édition d'un fichier Docker Compose, privilégiez la syntaxe sous forme de mapping :

environment:
INIT_ADMIN: 'true'
INIT_ADMIN_LOGIN: 'sync-in-admin'
INIT_ADMIN_PASSWORD: 'mot de passe robuste'

Sync-in retire une paire externe correspondante de guillemets simples ou doubles de INIT_ADMIN_LOGIN et INIT_ADMIN_PASSWORD. Les guillemets imbriqués ou non appariés sont conservés.

info

Ces variables ne sont pas destinées à être utilisées avec des secrets.

Lors de l'exécution

Les paramètres scalaires de configuration du serveur Sync-in peuvent être définis via des variables d'environnement préfixées par SYNCIN_, voir la section correspondante.

Chemin des données imposé avec Docker

L'entrypoint Docker définit toujours SYNCIN_APPLICATIONS_FILES_DATAPATH=/app/data et remplace toute valeur fournie au conteneur. Configurez l'emplacement de stockage à l'aide du volume monté sur /app/data. Le paramètre dataPath reste obligatoire pour les installations hors Docker.


🔐 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 conception, 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, etc.), adoptent et prennent en charge 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.