Skip to main content
Der er en lille forskel mellem udviklings- og produktionsmiljøet, hvis du vil opsætte sandbox-kompilering til udvikling. Der er 3 ting, du skal være opmærksom på:
  • Problem med filrettigheder
  • Delt volume mellem history-v1 og filestore
  • Problem med undermapper

Aktivér Sandbox Compiles

Her skal vi blot aktivere Sandbox Compiles, som vi gør i Overleaf CE. Vi skal dog være opmærksomme på brugeren. Her sætter vi den til root. I produktionsmiljøet bruger vi www-data som en delt bruger mellem Overleaf-containeren og TeX-kompileringscontaineren. I udviklingsmiljøet er node dog standardbrugeren i containeren, og der findes ingen www-data-bruger at koble sig på. Derfor bruger vi blot root som en midlertidig løsning.
Brug venligst ikke dit eget byggede image, da du kan støde på en række fejl.

Ret filrettigheder

LaTeX kører i søskende-containerne som den bruger, der er angivet i miljøvariablen TEXLIVE_IMAGE_USER. I eksemplet ovenfor er den sat til root, som har uid 0. Det skaber et problem med ovenstående rettigheder, da root-brugeren ikke har tilladelse til at skrive til undermapper i compiles. En hurtig løsning er at give gruppen root ejerskab samt læse- og skriverettigheder til compiles, med setgid sat, så nye undermapper også arver dette ejerskab:
bash
For detaljeret dokumentation kan du se services/clsi/README.md.

Delt volume mellem history-v1 og filestore

Som standard fungerer filestore som en bro mellem S3 og andre tjenester i Overleaf. I Overleaf CE eller Server Pro gemmes alle filer dog lokalt som standard. Derfor har Overleaf indført en meget snedig metode.
server-ce/config/settings.js
Samtidig bruges data/history også af history-tjenesten. På denne måde kan de dele de samme data mellem forskellige mikrotjenester. Du skal tilføje denne volume history-v1-buckets til din filestore-tjeneste i develop. Ellers vil clsi ikke kunne hente blob-filer fra filestore-tjenesten.
develop/docker-compose.yml
Du skal også tilføje BUCKET-navnet til indstillingerne i dev.env:
develop/dev.env

Brug undermapper

Filestore bruger som standard useSubdirectories sat til true, men i udviklingsmiljøet vil history v1 flade alle data ud. Det skaber nogle konflikter. For at løse det skal du tilføje følgende:
develop/dev.env
I history v1 gemmes alle project_blobs-filer oprindeligt sådan her:
Du skal sætte useSubdirectories til true for at skifte til undermappetilstand. Nu bliver det oprindelige _ i blob erstattet af / .
Sidst ændret 5. oktober 2026