- Problem mit Dateiberechtigungen
- Gemeinsames Volume zwischen history-v1 und filestore
- Problem mit Unterverzeichnissen
Sandbox-Kompilierung aktivieren
Hier müssen wir die Sandbox-Kompilierung genauso aktivieren wie in Overleaf CE. Wir müssen lediglich auf den Benutzer achten. Hier setzen wir ihn auf root. In der Produktionsumgebung verwenden wir www-data als gemeinsamen Benutzer zwischen dem Overleaf-Container und dem TeX-Kompilierungscontainer. In der Entwicklungsumgebung ist jedoch node der Standardbenutzer im Container, und es gibt keinen www-data-Benutzer, an den man sich anhängen könnte. Deshalb verwenden wir als Workaround einfach root.Dateiberechtigungen korrigieren
LaTeX läuft in den Geschwistercontainern als der Benutzer, der in der UmgebungsvariableTEXLIVE_IMAGE_USER angegeben ist. Im obigen Beispiel ist dies root mit der uid 0. Das führt zu einem Problem mit den oben genannten Berechtigungen, da der Benutzer root keine Schreibrechte für Unterordner von compiles hat.
Eine schnelle Lösung besteht darin, der Gruppe root die Eigentümerschaft sowie Lese- und Schreibrechte für compiles zu geben und setgid zu setzen, damit neue Unterordner diese Eigentümerschaft ebenfalls erben:
bash
services/clsi/README.md.
Gemeinsames Volume zwischen history-v1 und filestore
Standardmäßig fungiert filestore als Brücke zwischen S3 und anderen Diensten in Overleaf. In Overleaf CE oder Server Pro werden jedoch standardmäßig alle Dateien lokal gespeichert. Daher hat Overleaf eine recht trickreiche Methode eingeführt.server-ce/config/settings.js
data/history auch vom History-Dienst verwendet. Auf diese Weise können verschiedene Microservices dieselben Daten gemeinsam nutzen. Sie müssen das Volume history-v1-buckets zu Ihrem filestore-Dienst in der Entwicklungsumgebung hinzufügen. Andernfalls kann clsi keine Blob-Dateien vom filestore-Dienst abrufen.
develop/docker-compose.yml
dev.env hinzufügen:
develop/dev.env
Unterverzeichnisse verwenden
Filestore verwendet standardmäßig useSubdirectories mit dem Wert true, in der Entwicklung flacht history v1 jedoch alle Daten ab. Das führt zu Konflikten. Um dies zu beheben, müssen Sie Folgendes hinzufügen:develop/dev.env
project_blobs-Dateien ursprünglich so gespeichert:
true setzen, um in den Unterverzeichnismodus zu wechseln. Dann wird das ursprüngliche _ im Blob durch / ersetzt.
