Skip to main content
Er zijn enkele kleine verschillen tussen de ontwikkel- en productieomgeving als u sandbox-compilaties voor ontwikkeling wilt instellen. Er zijn 3 dingen waar u op moet letten:
  • Probleem met bestandsrechten
  • Gedeeld volume tussen history-v1 en filestore
  • Probleem met submappen

Sandbox-compilaties inschakelen

Hier hoeven we alleen Sandbox Compiles in te schakelen zoals we dat in Overleaf CE doen. We moeten echter wel letten op de gebruiker. Hier stellen we die in op root. In de productieomgeving gebruiken we www-data als gedeelde gebruiker tussen de Overleaf-container en de TeX-compilatiecontainer. In de ontwikkelomgeving is node echter de standaardgebruiker in de container, en er is geen www-data-gebruiker om dit aan te koppelen. Daarom gebruiken we root als tijdelijke oplossing.
Gebruik niet uw zelfgebouwde image, anders kunt u op een reeks fouten stuiten.

Bestandsrechten herstellen

LaTeX draait in de naastgelegen containers als de gebruiker die is opgegeven in de omgevingsvariabele TEXLIVE_IMAGE_USER. In het bovenstaande voorbeeld is dit ingesteld op root, met uid 0. Dit veroorzaakt een probleem met de bovenstaande rechten, omdat de root-gebruiker geen schrijfrechten heeft op submappen van compiles. Een snelle oplossing is om de groep root eigenaar te maken van compiles en lees- en schrijfrechten te geven, met setgid ingesteld zodat nieuwe submappen dit eigenaarschap ook overnemen:
bash
Uitgebreide documentatie vindt u in services/clsi/README.md.

Gedeeld volume tussen history-v1 en filestore

Standaard fungeert filestore als brug tussen S3 en andere services in Overleaf. In Overleaf CE of Server Pro worden alle bestanden echter standaard lokaal opgeslagen. Daarom heeft Overleaf een zeer slimme methode geïntroduceerd.
server-ce/config/settings.js
Tegelijkertijd wordt data/history ook door de history-service gebruikt. Op deze manier kunnen verschillende microservices dezelfde gegevens delen. U moet het volume history-v1-buckets toevoegen aan uw filestore-service in de ontwikkelomgeving. Anders kan clsi geen blob-bestanden ophalen van de filestore-service.
develop/docker-compose.yml
Daarnaast moet u de bucketnamen toevoegen aan de instellingen in dev.env:
develop/dev.env

Submappen gebruiken

Filestore gebruikt standaard useSubdirectories met de waarde true, maar in de ontwikkelomgeving zal history v1 alle gegevens platslaan. Dat veroorzaakt conflicten. Om dit op te lossen, moet u het volgende toevoegen:
develop/dev.env
In history v1 worden alle project_blobs-bestanden oorspronkelijk zo opgeslagen:
U moet useSubdirectories op true zetten om over te schakelen naar de submapmodus. Nu wordt de oorspronkelijke _ in de blob vervangen door /.
Laatst gewijzigd op 5 oktober 2026