- 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.Bestandsrechten herstellen
LaTeX draait in de naastgelegen containers als de gebruiker die is opgegeven in de omgevingsvariabeleTEXLIVE_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
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
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
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
project_blobs-bestanden oorspronkelijk zo opgeslagen:
true zetten om over te schakelen naar de submapmodus. Nu wordt de oorspronkelijke _ in de blob vervangen door /.
