Skip to main content
Kehitys- ja tuotantoympäristön välillä on pieniä eroja, jos haluat määrittää Sandbox Compiles -toiminnon kehityskäyttöön. Sinun on huomioitava kolme asiaa:
  • Tiedosto-oikeusongelma
  • Volyymin jakaminen history-v1:n ja filestoren välillä
  • Alihakemisto-ongelma

Sandbox Compiles -toiminnon käyttöönotto

Tässä meidän tarvitsee vain ottaa Sandbox Compiles käyttöön samalla tavalla kuin Overleaf CE:ssä. Ainoastaan käyttäjä on huomioitava: asetamme sen tässä arvoon root. Tuotantoympäristössä käytämme www-data-käyttäjää jaettuna käyttäjänä Overleaf-kontin ja TeX-käännöskontin välillä. Kehitysympäristössä kontin oletuskäyttäjä on kuitenkin node, eikä www-data-käyttäjää ole, johon tämän voisi kytkeä. Siksi käytämme kiertotienä root-käyttäjää.
Älä käytä itse rakentamaasi imagea, sillä saatat kohdata useita virheitä.

Tiedosto-oikeuksien korjaaminen

LaTeX ajetaan rinnakkaiskonteissa käyttäjänä, joka on määritetty TEXLIVE_IMAGE_USER-ympäristömuuttujassa. Yllä olevassa esimerkissä sen arvo on root, jonka uid on 0. Tämä aiheuttaa ongelman yllä mainittujen oikeuksien kanssa, koska root-käyttäjällä ei ole oikeutta kirjoittaa compiles-hakemiston alikansioihin. Nopea korjaus on antaa root-ryhmälle omistajuus sekä luku- ja kirjoitusoikeudet compiles-hakemistoon ja asettaa setgid, jotta myös uudet alikansiot perivät tämän omistajuuden:
bash
Tarkemmat tiedot löydät tiedostosta services/clsi/README.md.

Volyymin jakaminen history-v1:n ja filestoren välillä

Oletusarvoisesti filestore toimii siltana S3:n ja Overleafin muiden palveluiden välillä. Overleaf CE:ssä ja Server Prossa kaikki tiedostot kuitenkin tallennetaan oletusarvoisesti paikallisesti. Siksi Overleaf otti käyttöön hyvin kekseliään menetelmän.
server-ce/config/settings.js
Samaan aikaan history-palvelu käyttää myös data/history-hakemistoa. Näin eri mikropalvelut voivat jakaa samat tiedot. Sinun on lisättävä tämä history-v1-buckets-volyymi kehitysympäristön filestore-palveluun. Muuten clsi ei pysty noutamaan blob-tiedostoja filestore-palvelusta.
develop/docker-compose.yml
Lisäksi sinun on lisättävä BUCKET-nimet dev.env-asetuksiin:
develop/dev.env

Alihakemistojen käyttäminen

Filestore käyttää oletusarvoisesti asetusta useSubdirectories arvolla true, mutta kehitysympäristössä history v1 litistää kaikki tiedot. Tämä aiheuttaa ristiriitoja. Korjataksesi tämän sinun on lisättävä seuraava:
develop/dev.env
History v1:ssä kaikki project_blobs-tiedostot tallennetaan alun perin näin:
Sinun on asetettava useSubdirectories arvoon true, jotta käyttöön tulee alihakemistotila. Tällöin blobin alkuperäinen _ korvataan merkillä /.
Viimeksi muokattu 5. lokakuuta 2026