Vyšší zabezpečení
Sandboxed Compiles jsou pro Ayakaleaf Pro doporučeným přístupem, protože mnoho dokumentů LaTeX vyžaduje (nebo má) možnost spouštět v rámci procesu kompilace PDF libovolné shellové příkazy. Pokud používáte Sandboxed Compiles, každá kompilace běží v samostatném Docker kontejneru s omezenými schopnostmi, který není sdílen s žádným jiným uživatelem ani projektem a nemá přístup k vnějším prostředkům, jako je síť hostitele.Snadnější správa balíčků
Abyste nemuseli balíčky instalovat ručně, doporučujeme povolit Sandboxed Compiles. Jde o konfigurovatelné nastavení v Server Pro, které vašim uživatelům poskytne přístup ke stejnému prostředí TeX Live jako na overleaf.com, ale v rámci vaší vlastní on-premise instalace. Image TeX Live používané Sandboxed Compiles obsahují nejoblíbenější balíčky a fonty otestované proti šablonám z naší galerie, což zajišťuje maximální kompatibilitu s on-premise projekty. Povolení Sandboxed Compiles vám umožní nakonfigurovat, ze kterých verzí TeX Live si uživatelé mohou v projektu vybírat, a nastavit výchozí verzi image TeX Live pro nové projekty.Pokud se pokusíte provozovat Ayakaleaf Pro bez Sandboxed Compiles, vaše instance bude ve výchozím stavu ke kompilaci používat verzi TeX Live se schématem basic. Tato základní verze je odlehčená a obsahuje jen velmi omezenou podmnožinu balíčků LaTeX, což u vašich uživatelů nejspíše povede k chybám kvůli chybějícím balíčkům, zejména pokud se pokusí použít předpřipravené šablony.
Sandboxed Compiles vyžadují, aby kontejner
sharelatex měl přístup k Docker socketu na hostitelském stroji (přes bind mount), aby mohl spravovat tyto sourozenecké kompilační kontejnery.Jak to funguje
Když jsou Sandboxed Compiles povoleny, Docker socket z hostitelského stroje se připojí do kontejnerusharelatex, takže kompilační služba v kontejneru může na hostiteli vytvářet nové Docker kontejnery. Poté při každém spuštění kompilátoru v každém projektu provede kompilační služba LaTeXu (CLSI) následující:
- Zapíše soubory projektu do umístění uvnitř
OVERLEAF_DATA_PATH. - Pomocí připojeného Docker socketu vytvoří pro daný běh kompilace nový kontejner
texlive. - Kontejner
texlivenačte data projektu z umístění podOVERLEAF_DATA_PATH. - Zkompiluje projekt uvnitř kontejneru
texlive.
Povolení Sandboxed Compiles
Pro uživatele Toolkitu
Chcete-li povolit sandboxové kompilace (známé také jako sourozenecké kontejnery, Sibling containers), nastavte voverleaf-toolkit/config/overleaf.rc následující konfigurační volby:
config/overleaf.rc
Pro uživatele Docker Compose
Počínaje Overleaf CE/Server Pro
5.0.3 byly proměnné prostředí přejmenovány z SHARELATEX_* na OVERLEAF_*.4.x (nebo starší), ujistěte se, že proměnné mají odpovídající předponu (např. SHARELATEX_MONGO_URL místo OVERLEAF_MONGO_URL).
Nastavení image TeX Live
Uživatelé z pevninské Číny mohou pro zrychlení stahování nahradit
ghcr.io adresou ghcr.nju.edu.cn. NEPOUŽÍVEJTE však ghcr.nju.edu.cn přímo v nastavení prostředí toolkitu. Jedinou volbou by mělo zůstat ghcr.io.TEX_LIVE_DOCKER_IMAGE(povinné): Výchozí image TeX Live používaný ke kompilaci nových projektů. Tento image musí být uveden vALL_TEX_LIVE_DOCKER_IMAGES.ALL_TEX_LIVE_DOCKER_IMAGE_NAMES(povinné): Čárkami oddělený seznam srozumitelných názvů image, používaných pro volby ve frontendu.ALL_TEX_LIVE_DOCKER_IMAGES(povinné): Čárkami oddělený seznam image TeX Live, které se mají použít. Pokud se k nasazení používá Overleaf Toolkit, tyto image budou staženy nebo aktualizovány. Chcete-li stahování přeskočit, nastavte vconfig/overleaf.rchodnotuSIBLING_CONTAINERS_PULL=false.
bin/up Toolkit automaticky stáhne všechny image uvedené v ALL_TEX_LIVE_DOCKER_IMAGES.
Zde je příklad, kde je pro nové projekty výchozí TeX Live 2026 a pro staré projekty se nadále používá verze 2025.
- Minimální instalace
- Úplná instalace
Následující konfigurace nainstaluje všechny úplné Docker image TeX Live od roku 2025 do roku 2026. Před použitím této konfigurace doporučujeme mít k dispozici alespoň 64 GB volného úložiště.
config/variables.env
Důrazně doporučujeme nastavit alespoň 2 image texlive-full. Podrobné zdůvodnění najdete v #known-issues
Dostupné image TeX Live
Toto je řada image TeX Live speciálně optimalizovaných pro Overleaf, které lze také přidat doTEX_LIVE_DOCKER_IMAGE a ALL_TEX_LIVE_DOCKER_IMAGES:
ghcr.io/ayaka-notes/texlive-full:2026.1(také taglatest)ghcr.io/ayaka-notes/texlive-full:2025.1ghcr.io/ayaka-notes/texlive-full:2024.1ghcr.io/ayaka-notes/texlive-full:2023.1ghcr.io/ayaka-notes/texlive-full:2022.1ghcr.io/ayaka-notes/texlive-full:2021.1ghcr.io/ayaka-notes/texlive-full:2020.1
Mohu použít jiný registr image?
Někteří se mohou ptát, zda lze nahradit ghcr.io jiným zrcadlem nebo přepnout texlive na jiný image z Docker Hubu.
Ne, nedoporučujeme to, protože konfigurace je poměrně složitá. Pokud stahujete ze zrcadla, můžete svůj image přejmenovat na ghcr.io/ayaka-notes/texlive-full.
Pokud ale opravdu chcete používat vlastní registr image, přidejte:
config/variables.env
your-repo, například
hub.your.com/your-repo/texlive-full:2025.1hub.your.com/your-repo/texlive-full:2024.1
sandboxed-compiles/index.mjs
Automatická synchronizace image TeX Live
Abyste nemuseli instanci pokaždé ručně aktualizovat pomocíbin/up, můžete aktualizace image TeX Live automatizovat. Viz updating-tex-live-full-images-automatically.md.
Známé problémy
Toto je skutečný případ z komunity Overleafu:PoužívámKvůli určitým technickým omezením: pokud nastavíte pouze jeden Docker image TeXLive, například6.0.1-ext-v3.3a vvariables.envmám tato nastavení:Stexlive/texlive:latest-fullto funguje dobře. Stáhl jsem si však jiný image texlivedanteev/texlive:2025-10-15a obě tyto proměnné jsem změnil na název nového image, ale nefunguje to:V logech vidím následující:Zdá se, že aktualizovaná nastavení vevariables.envse neprojevují. Kompilace se stále pokouší spustit imagetexlive/texlive:latest-full, nikoli nový image. Zkoušel jsem restartovat, smazat kontejnery a znovu je spustit, ale problém přetrvává. Máte nějaké řešení?
texlive-fullA:latest
texlive-fullB:latest, zjistíte, že vaši uživatelé nemohou zkompilovat žádné projekty.

