Persistente Daten
Das Overleaf Toolkit muss persistente Daten speichern, etwa die zum Kompilieren von LaTeX-Projekten benötigten Dateien und den Inhalt der MongoDB-Datenbank. Dazu werden einige Verzeichnisse des Host-Rechners in die Docker-Container eingebunden und die Daten in diese Verzeichnisse geschrieben.Datenverzeichnisse
Der Containersharelatex benötigt ein Verzeichnis, in dem Daten zu LaTeX-Kompilierungen gespeichert werden. Dieses Verzeichnis wird mit der Variablen OVERLEAF_DATA_PATH in config/overleaf.rc festgelegt.
Der Container mongo benötigt – sofern aktiviert – ein Verzeichnis, in dem seine Datenbankdateien gespeichert werden; dasselbe gilt für den Container redis. Auch diese Verzeichnisse können in config/overleaf.rc konfiguriert werden.
Dateiberechtigungen
Da Docker alsroot läuft, gehören die Datenverzeichnisse letztlich dem Benutzer root, auch wenn das Toolkit von einem Nicht-Root-Benutzer verwendet wird. Das ist kein Problem, sollte aber beachtet werden, wenn Sie die persistenten Daten außerhalb der Container verändern möchten.
Speicherort der Konfigurationsdateien
Alle benutzereigenen Konfigurationsdateien befinden sich im Verzeichnisconfig/.
Dieses Verzeichnis ist von der Git-Versionsverwaltung ausgeschlossen und wird daher durch Aktualisierungen des Toolkit-Codes nicht verändert. Das Toolkit ändert keine Daten im Verzeichnis config/ ohne Ihre Zustimmung.
Änderungen an den Konfigurationsdateien werden nicht automatisch auf bestehende Container angewendet, selbst wenn der Container gestoppt und neu gestartet wird (mit
bin/stop und bin/start). Um die Änderungen zu übernehmen, führen Sie bin/up aus; im Hintergrund wendet docker compose die Konfigurationsänderungen dann automatisch auf einen neuen Container an. (Oder führen Sie bin/up -d aus, wenn Sie sich nicht an die Docker-Logs anhängen möchten.)Die Datei overleaf.rc
Die Datei config/overleaf.rc enthält die wichtigsten übergeordneten Konfigurationseinstellungen des Toolkits. Sie enthält Anweisungen, die Variablen im Format VARIABLE_NAME=value setzen.
Eine Übersicht aller verfügbaren Konfigurationsoptionen finden Sie in unserem Abschnitt zu den Einstellungen.
Die Datei variables.env
Die Datei config/variables.env enthält Umgebungsvariablen, die in den Container sharelatex geladen und zur Konfiguration der Overleaf-Microservices verwendet werden. Dazu gehören der Name der Anwendung, wie er im Header der Weboberfläche angezeigt wird, Einstellungen für den E-Mail-Versand sowie weitere Premium-Einstellungen wie SSO für die Verwendung mit Server Pro.
Eine Übersicht aller verfügbaren Umgebungsvariablen finden Sie im Abschnitt Umgebungsvariablen.
Die Datei version
Die Datei config/version enthält die Versionsnummer des Docker-Images, mit dem die laufende Instanz Ihres Overleaf-Servers erstellt wird.
Änderungen an diesen Konfigurationsdateien werden nicht automatisch auf bestehende Container angewendet, selbst wenn der Container gestoppt und neu gestartet wird (mit
bin/stop und bin/start). Um Ihre Änderungen zu übernehmen, führen Sie bin/up aus; das Toolkit erstellt dann automatisch einen neuen Container mit den übernommenen Konfigurationsänderungen.Die Datei docker-compose.override.yml
Falls vorhanden, wird die Datei config/docker-compose.override.yml beim Aufruf von docker compose einbezogen. Das ist nützlich, um Docker-Compose-spezifische Konfigurationen zu überschreiben.
Weitere Details finden Sie in der docker-compose-Dokumentation.
