Förbättrad säkerhet
Sandboxed Compiles är det rekommenderade tillvägagångssättet för Ayakaleaf Pro, eftersom många LaTeX-dokument kräver eller har möjlighet att köra godtyckliga skalkommandon som en del av PDF-kompileringen. Om du använder Sandboxed Compiles körs varje kompilering i en separat Docker-container med begränsade rättigheter som inte delas med någon annan användare eller något annat projekt och som inte har åtkomst till externa resurser, till exempel värdens nätverk.Enklare pakethantering
För att slippa installera paket manuellt rekommenderar vi att du aktiverar Sandboxed Compiles. Detta är en konfigurerbar inställning i Server Pro som ger dina användare tillgång till samma TeX Live-miljö som på overleaf.com, men i din egen lokala installation. TeX Live-imagarna som används av Sandboxed Compiles innehåller de populäraste paketen och typsnitten, testade mot våra galleri-mallar, vilket säkerställer maximal kompatibilitet med lokala projekt. När Sandboxed Compiles är aktiverat kan du konfigurera vilka TeX Live-versioner användarna kan välja mellan i sina projekt, samt ange en standardversion av TeX Live-imagen för nya projekt.Om du försöker köra Ayakaleaf Pro utan Sandboxed Compiles använder din instans som standard en version av TeX Live med basic-schemat för kompileringar. Denna grundversion är lättviktig och innehåller bara en mycket begränsad delmängd av LaTeX-paket, vilket med största sannolikhet leder till fel om saknade paket för dina användare, särskilt om de försöker använda färdiga mallar.
Sandboxed Compiles kräver att containern
sharelatex har åtkomst till Docker-socketen på värddatorn (via en bind-montering) så att den kan hantera dessa syskoncontainrar för kompilering.Hur det fungerar
När Sandboxed Compiles är aktiverat monteras Docker-socketen från värddatorn in i containernsharelatex, så att kompileringstjänsten i containern kan skapa nya Docker-containrar på värden. För varje körning av kompilatorn i varje projekt gör sedan LaTeX-kompileringstjänsten (CLSI) följande:
- Skriver ut projektfilerna till en plats inom
OVERLEAF_DATA_PATH. - Använder den monterade Docker-socketen för att skapa en ny
texlive-container för kompileringen. - Låter
texlive-containern läsa projektdata från platsen underOVERLEAF_DATA_PATH. - Kompilerar projektet inuti
texlive-containern.
Aktivera Sandboxed Compiles
För Toolkit-användare
För att aktivera sandlådekompilering (även kallat syskoncontainrar, Sibling containers) ställer du in följande konfigurationsalternativ ioverleaf-toolkit/config/overleaf.rc:
config/overleaf.rc
För Docker Compose-användare
Från och med Overleaf CE/Server Pro
5.0.3 har miljövariablerna bytt namn från SHARELATEX_* till OVERLEAF_*.4.x (eller tidigare), se till att variablerna har rätt prefix (t.ex. SHARELATEX_MONGO_URL i stället för OVERLEAF_MONGO_URL).
Konfigurera TeX Live-imagen
Användare i Kina (fastlandet) kan ersätta
ghcr.io med ghcr.nju.edu.cn för att snabba upp nedladdningen. Men använd INTE ghcr.nju.edu.cn direkt i miljöinställningarna för Toolkit. Du ska behålla ghcr.io som det enda alternativet.TEX_LIVE_DOCKER_IMAGE(obligatorisk), Standard-imagen för TeX Live som används för att kompilera nya projekt. Imagen måste finnas med iALL_TEX_LIVE_DOCKER_IMAGES.ALL_TEX_LIVE_DOCKER_IMAGE_NAMES(obligatorisk), En kommaseparerad lista med läsbara namn för imagarna, som används för alternativen i gränssnittet.ALL_TEX_LIVE_DOCKER_IMAGES(obligatorisk), En kommaseparerad lista med TeX Live-images som ska användas. Om Overleaf Toolkit används för driftsättningen laddas dessa images ner eller uppdateras. För att hoppa över nedladdningen, ställ inSIBLING_CONTAINERS_PULL=falseiconfig/overleaf.rc.
bin/up hämtar Toolkit automatiskt alla images som listas i ALL_TEX_LIVE_DOCKER_IMAGES.
Här är ett exempel där vi använder TeX Live 2026 som standard för nya projekt och behåller 2025 för gamla projekt.
- Minimal installation
- Fullständig installation
Följande konfiguration installerar alla fullständiga TeX Live Docker-images från 2025 till 2026. Vi rekommenderar att du har minst 64 GB ledigt lagringsutrymme innan du använder den här konfigurationen.
config/variables.env
Vi rekommenderar starkt att du konfigurerar minst 2 texlive-full-images. Den detaljerade orsaken finns i #known-issues
Tillgängliga TeX Live-images
Detta är en serie TeX Live-images som är särskilt optimerade för Overleaf och som även kan läggas till iTEX_LIVE_DOCKER_IMAGE och ALL_TEX_LIVE_DOCKER_IMAGES:
ghcr.io/ayaka-notes/texlive-full:2026.1(även taggenlatest)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
Kan jag använda ett annat image-register?
Vissa undrar kanske om man kan ersätta ghcr.io med en annan spegelsajt, eller byta texlive till en annan image från Docker Hub?
Nej, vi rekommenderar det inte eftersom konfigurationen är relativt komplicerad. Om du laddar ner från en spegelsajt kan du byta namn på din image till ghcr.io/ayaka-notes/texlive-full.
Men om du verkligen vill använda ditt eget image-register, lägg till:
config/variables.env
your-repo, till exempel
hub.your.com/your-repo/texlive-full:2025.1hub.your.com/your-repo/texlive-full:2024.1
sandboxed-compiles/index.mjs
Automatisk synkronisering av TeX Live-images
För att slippa uppdatera din instans manuellt medbin/up varje gång kan du automatisera uppdateringarna av din TeX Live-image. Se updating-tex-live-full-images-automatically.md.
Kända problem
Detta är ett verkligt fall från Overleaf-communityn:Jag använderPå grund av vissa tekniska begränsningar gäller följande: om du bara konfigurerar en enda Docker-image för TeXLive, till exempel6.0.1-ext-v3.3och har följande inställningar ivariables.env:Detta fungerar bra medtexlive/texlive:latest-full. Men jag hämtade en annan texlive-image,danteev/texlive:2025-10-15, och ändrade båda variablerna till det nya imagenamnet, och då fungerar det inte:I loggarna ser jag följande:Det verkar som att de uppdaterade inställningarna ivariables.envinte får effekt. Kompileringen försöker fortfarande köra imagentexlive/texlive:latest-full, inte den nya imagen. Jag har provat att starta om, ta bort containrarna och köra igen, men problemet kvarstår. Några lösningar?
texlive-fullA:latest
texlive-fullB:latest, kommer du att se att dina användare inte kan kompilera några projekt.

