Skip to main content
Se vuoi configurare le Sandbox Compiles per lo sviluppo, ci sono alcune piccole differenze tra l’ambiente di sviluppo e quello di produzione. Ci sono 3 aspetti a cui prestare attenzione:
  • 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.
Non usare un’immagine costruita da te, altrimenti potresti incorrere in una serie di errori.

Correggere i permessi dei file

LaTeX viene eseguito nei container fratelli con l’utente specificato nella variabile d’ambiente TEXLIVE_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
Per la documentazione dettagliata, consulta 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
Allo stesso tempo, 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
Devi inoltre aggiungere il nome del BUCKET alle impostazioni di 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
In history v1, tutti i file project_blobs sono originariamente memorizzati così:
Devi impostare useSubdirectories a true per passare alla modalità a sottodirectory. In questo modo, il carattere _ originale nel blob verrà sostituito con /.
Ultima modifica il 5 ottobre 2026