- 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.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
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
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
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
project_blobs původně uloženy takto:
true, aby se přepnul do režimu podadresářů. Původní _ v názvu blobu se pak nahradí znakem / .
