Skip to main content
Pokud chcete nastavit kompilaci v sandboxu pro vývoj, existuje několik drobných rozdílů mezi vývojovým a produkčním prostředím. Musíte dbát na 3 věci:
  • Problém s oprávněními souborů
  • Sdílení svazku mezi history-v1 a filestore
  • Problém s podadresáři

Povolení kompilací v sandboxu

Zde stačí povolit Sandbox Compiles stejně jako v Overleaf CE. Je však třeba dát pozor na uživatele. Zde ho nastavíme na root. V produkčním prostředí používáme www-data jako sdíleného uživatele mezi kontejnerem Overleafu a kontejnerem pro kompilaci TeXu. Ve vývojovém prostředí je však výchozím uživatelem v kontejneru node a uživatel www-data, na kterého by se to dalo navázat, neexistuje. Jako náhradní řešení proto použijeme root.
Nepoužívejte prosím vlastní sestavený image, mohli byste narazit na řadu chyb.

Oprava oprávnění souborů

LaTeX běží v sousedních kontejnerech pod uživatelem zadaným v proměnné prostředí TEXLIVE_IMAGE_USER. Ve výše uvedeném příkladu je nastaven na root, který má uid 0. To způsobuje problém s výše uvedenými oprávněními, protože uživatel root nemá oprávnění zapisovat do podsložek compiles. Rychlou opravou je přidělit skupině root vlastnictví a oprávnění ke čtení a zápisu ke compiles a nastavit setgid, aby toto vlastnictví zdědily i nové podsložky:
bash
Podrobnou dokumentaci najdete v services/clsi/README.md.

Sdílení svazku mezi history-v1 a filestore

Ve výchozím nastavení slouží filestore jako most mezi S3 a ostatními službami Overleafu. V Overleaf CE nebo Server Pro se však všechny soubory ve výchozím stavu ukládají lokálně. Overleaf proto zavedl velmi důmyslný postup.
server-ce/config/settings.js
Zároveň data/history používá také služba history. Díky tomu mohou různé mikroslužby sdílet stejná data. Ve vývojovém prostředí musíte do služby filestore přidat svazek history-v1-buckets. Jinak clsi nebude moci stahovat soubory blob ze služby filestore.
develop/docker-compose.yml
Do nastavení dev.env je také třeba přidat názvy BUCKETů:
develop/dev.env

Použití podadresářů

Filestore ve výchozím nastavení používá useSubdirectories s hodnotou true, ve vývojovém prostředí však history v1 ukládá všechna data naplocho. To způsobuje konflikty. Chcete-li to opravit, musíte přidat následující:
develop/dev.env
V history v1 jsou všechny soubory project_blobs původně uloženy takto:
Musíte nastavit useSubdirectories na true, aby se přepnul do režimu podadresářů. Původní _ v názvu blobu se pak nahradí znakem / .
Naposledy změněno 5. října 2026