Variablen und Geheimnisse
Umgebungsvariablen und Geheimnisse, die zum Konfigurieren von Sync-in verwendet werden.
🌱 Serverumgebungsvariablen
Während der Initialisierung
- SKIP_INIT: Überspringt den Initialisierungsschritt (Datenbankmigration, Erstellung eines Administratorkontos, Berechtigungsaktualisierungen usw.). Diese außergewöhnliche
Ausweichoption ist ausschließlich dazu gedacht, gleichzeitige Migrationen zwischen Replikaten zu verhindern oder die Initialisierung einem dedizierten Bereitstellungsjob zu überlassen. Aktivieren Sie
SKIP_INITin allen anderen Fällen, insbesondere bei Upgrades, nicht: Die Initialisierung kann erforderlich sein, um Migrationen oder versionsspezifische Konfigurationen anzuwenden. - INIT_ADMIN: Wenn definiert, wird unabhängig von seinem Wert das Administratorkonto während der Initialisierung erstellt, sofern es noch nicht vorhanden ist.
- INIT_ADMIN_LOGIN: Benutzername des Administratorkontos, das während der Initialisierung erstellt werden soll.
- INIT_ADMIN_PASSWORD: Passwort des Administratorkontos, das bei der Initialisierung erstellt werden soll.
- PUID: Definiert die vom Container verwendete Benutzerkennung (UID) (nützlich für Dateiberechtigungen).
- PGID: Definiert die vom Container verwendete Gruppenkennung (GID) (nützlich für den Zugriff auf gemeinsam genutzte Volumes).
- FORCE_PERMISSIONS: Wenn auf
truegesetzt, werden Berechtigungen (PUID, PGID, Verzeichnisse: 750, Dateien: 640) rekursiv auf dem/app/data-Volume erzwungen. - SYNC_IN_HEALTHCHECK_URL: Definiert die URL, die vom Healthcheck aus dem Container abgefragt wird. Die Standardeinstellung ist
http://127.0.0.1:8080/healthz/ready. Überschreiben Sie sie nur, wenn sich die interne Adresse, der interne Port oder der Pfad des Servers ändert. Ändern Sie sie nicht, wenn sich nur der auf dem Host veröffentlichte Port ändert.
Bevorzugen Sie beim Bearbeiten einer Docker Compose-Datei die Zuordnungssyntax:
environment:
INIT_ADMIN: 'true'
INIT_ADMIN_LOGIN: 'sync-in-admin'
INIT_ADMIN_PASSWORD: 'sicheres Passwort'
Sync-in entfernt ein passendes äußeres Paar einfacher oder doppelter Anführungszeichen aus INIT_ADMIN_LOGIN und INIT_ADMIN_PASSWORD. Verschachtelte oder nicht übereinstimmende Anführungszeichen bleiben erhalten.
Diese Variablen sind nicht für die Verwendung mit Secrets vorgesehen.
Während der Ausführung
Skalare Sync-in-Server-Konfigurationsparameter können über Umgebungsvariablen mit dem Präfix SYNCIN_ definiert werden, siehe entsprechenden Abschnitt.
Der Docker-Einstiegspunkt legt immer SYNCIN_APPLICATIONS_FILES_DATAPATH=/app/data fest und ersetzt alle dem Container bereitgestellten Werte. Konfigurieren Sie den Speicherort über das unter /app/data bereitgestellte Volume. Die Einstellung dataPath bleibt für Installationen außerhalb von Docker erforderlich.
🔐 Geheimnisverwaltung
Docker Secrets (insbesondere in einer Swarm- oder Compose-Umgebung) ermöglichen die sichere Speicherung vertraulicher Daten (wie Passwörter, API-Schlüssel usw.), indem sie als Dateien in Containern bereitgestellt werden, normalerweise im Verzeichnis /run/secrets/<geheimnisname>.
Docker wandelt diese Geheimnisse konstruktionsbedingt nie direkt in Umgebungsvariablen um, um das Risiko von Lecks zu begrenzen (z. B. über docker inspect oder Umgebungsvariablen, auf die innerhalb des Prozesses zugegriffen werden kann). Das Sync-in-Docker-Image sowie viele offizielle Images (MySQL, PostgreSQL ...) übernehmen und unterstützen diese *_FILE-Konvention.
Anstatt beispielsweise die Umgebungsvariable SYNCIN_MYSQL_URL direkt zu definieren, wird empfohlen, SYNCIN_MYSQL_URL_FILE=/run/secrets/mysql_password zu verwenden. Der Sync-in-Server liest dann den Inhalt der angegebenen Datei, um die Variable intern zu initialisieren.
Dieser Ansatz gewährleistet eine sichere Verwaltung von Geheimnissen und bleibt gleichzeitig mit den vorhandenen Konfigurationsmechanismen kompatibel.
Weitere Informationen zur Geheimnisverwaltung finden Sie in der offiziellen Docker-Dokumentation.