- Problema dei permessi dei file
- Condivisione del volume tra history-v1 e filestore
- Problema delle sottodirectory
Abilitare le Sandbox Compiles
Qui basta abilitare le Sandbox Compiles come si fa in Overleaf CE. L’unica cosa a cui prestare attenzione è l’utente: qui lo impostiamo a root. Nell’ambiente di produzione usiamo www-data come utente condiviso tra il container di Overleaf e il container di compilazione TeX. Nell’ambiente di sviluppo, invece, l’utente predefinito nel container è node e non esiste un utente www-data da agganciare. Per questo usiamo root come soluzione alternativa.Correggere i permessi dei file
LaTeX viene eseguito nei container fratelli con l’utente specificato nella variabile d’ambienteTEXLIVE_IMAGE_USER. Nell’esempio sopra è impostato su root, che ha uid 0. Questo crea un problema con i permessi indicati sopra, poiché l’utente root non ha il permesso di scrivere nelle sottocartelle di compiles.
Una soluzione rapida consiste nell’assegnare al gruppo root la proprietà e i permessi di lettura e scrittura su compiles, impostando setgid in modo che anche le nuove sottocartelle ereditino questa proprietà:
bash
services/clsi/README.md.
Condivisione del volume tra history-v1 e filestore
Per impostazione predefinita, filestore funge da ponte tra S3 e gli altri servizi di Overleaf. Tuttavia, in Overleaf CE o Server Pro tutti i file sono memorizzati localmente per impostazione predefinita. Per questo Overleaf ha introdotto un metodo piuttosto ingegnoso.server-ce/config/settings.js
data/history è usato anche dal servizio history. In questo modo i diversi microservizi possono condividere gli stessi dati. Devi aggiungere il volume history-v1-buckets al servizio filestore nell’ambiente di sviluppo. Altrimenti clsi non sarà in grado di recuperare i file blob dal servizio filestore.
develop/docker-compose.yml
dev.env:
develop/dev.env
Usare le sottodirectory
Filestore usa useSubdirectories impostato a true per impostazione predefinita; tuttavia, in sviluppo, history v1 appiattisce tutti i dati. Questo causa alcuni conflitti. Per risolvere, devi aggiungere quanto segue:develop/dev.env
project_blobs sono originariamente memorizzati così:
true per passare alla modalità a sottodirectory. In questo modo, il carattere _ originale nel blob verrà sostituito con /.
