- Problem med filbehörigheter
- Delad volym mellan history-v1 och filestore
- Problem med underkataloger
Aktivera kompilering i sandlåda
Här behöver vi bara aktivera Sandbox Compiles på samma sätt som i Overleaf CE. Det enda vi behöver tänka på är användaren. Här sätter vi den till root. I produktionsmiljön använder vi www-data som delad användare mellan Overleaf-containern och TeX-kompileringscontainern. I utvecklingsmiljön är däremot node standardanvändaren i containern, och det finns ingen www-data-användare att koppla till. Därför använder vi root som en tillfällig lösning.Åtgärda filbehörigheter
LaTeX körs i syskoncontainrarna som den användare som anges i miljövariabelnTEXLIVE_IMAGE_USER. I exemplet ovan är den satt till root, som har uid 0. Det skapar problem med ovanstående behörigheter, eftersom root-användaren inte har behörighet att skriva till underkataloger i compiles.
En snabb lösning är att ge gruppen root ägarskap och läs- och skrivbehörighet till compiles, med setgid satt så att nya underkataloger också ärver detta ägarskap:
bash
services/clsi/README.md.
Delad volym mellan history-v1 och filestore
Som standard fungerar filestore som en brygga mellan S3 och övriga tjänster i Overleaf. I Overleaf CE eller Server Pro lagras dock alla filer lokalt som standard. Därför har Overleaf infört en ganska knepig metod.server-ce/config/settings.js
data/history även av historiktjänsten. På så sätt kan de dela samma data mellan olika mikrotjänster. Du måste lägga till volymen history-v1-buckets i filestore-tjänsten i utvecklingsmiljön. Annars kan clsi inte hämta blob-filer från filestore-tjänsten.
develop/docker-compose.yml
dev.env:
develop/dev.env
Använd underkataloger
Filestore använder useSubdirectories satt till true som standard, men i utvecklingsmiljön plattar history v1 ut all data. Det orsakar vissa konflikter. För att åtgärda detta behöver du lägga till följande:develop/dev.env
project_blobs-filer ursprungligen så här:
true för att byta till underkatalogsläge. Då ersätts det ursprungliga _ i blob-namnet med /.
