Parannettu tietoturva
Hiekkalaatikkokäännökset (Sandboxed Compiles) ovat suositeltu lähestymistapa Ayakaleaf Prossa, koska monet LaTeX-dokumentit vaativat tai mahdollistavat mielivaltaisten komentotulkkikomentojen suorittamisen osana PDF-käännösprosessia. Kun käytät hiekkalaatikkokäännöksiä, jokainen käännös ajetaan erillisessä Docker-kontissa rajoitetuin oikeuksin, joita ei jaeta muiden käyttäjien tai projektien kanssa, eikä kontilla ole pääsyä ulkoisiin resursseihin, kuten isäntäkoneen verkkoon.Helpompi pakettien hallinta
Pakettien manuaalisen asentamisen välttämiseksi suosittelemme hiekkalaatikkokäännösten käyttöönottoa. Tämä on Server Prossa määritettävä asetus, joka antaa käyttäjillesi pääsyn samaan TeX Live -ympäristöön kuin overleaf.comissa, mutta omassa paikallisessa asennuksessasi. Hiekkalaatikkokäännösten käyttämät TeX Live -imaget sisältävät suosituimmat paketit ja fontit, jotka on testattu galleriamme mallipohjia vasten, mikä varmistaa parhaan mahdollisen yhteensopivuuden paikallisten projektien kanssa. Kun hiekkalaatikkokäännökset ovat käytössä, voit määrittää, mistä TeX Live -versioista käyttäjät voivat valita projektissaan, sekä asettaa uusille projekteille oletusarvoisen TeX Live -imagen version.Jos yrität ajaa Ayakaleaf Prota ilman hiekkalaatikkokäännöksiä, instanssisi käyttää käännöksiin oletuksena TeX Liven perusskeemaversiota. Tämä perusversio on kevyt ja sisältää vain hyvin rajallisen osajoukon LaTeX-paketeista, mikä todennäköisesti aiheuttaa käyttäjillesi puuttuvien pakettien virheitä, erityisesti jos he yrittävät käyttää valmiita mallipohjia.
Hiekkalaatikkokäännökset edellyttävät, että
sharelatex-kontilla on pääsy isäntäkoneen Docker-sokettiin (bind-liitoksen kautta), jotta se voi hallita näitä rinnakkaisia käännöskontteja.Miten se toimii
Kun hiekkalaatikkokäännökset ovat käytössä, Docker-soketti liitetään isäntäkoneeltasharelatex-konttiin, jotta kontin käännöspalvelu voi luoda uusia Docker-kontteja isäntäkoneelle. Tämän jälkeen jokaisella kääntäjän ajokerralla kussakin projektissa LaTeX-käännöspalvelu (CLSI) tekee seuraavat toimenpiteet:
- Kirjoittaa projektin tiedostot sijaintiin
OVERLEAF_DATA_PATH-polun sisällä. - Käyttää liitettyä Docker-sokettia luodakseen käännösajoa varten uuden
texlive-kontin. - Antaa
texlive-kontin lukea projektin datanOVERLEAF_DATA_PATH-polun alla olevasta sijainnista. - Kääntää projektin
texlive-kontin sisällä.
Hiekkalaatikkokäännösten käyttöönotto
Toolkitin käyttäjille
Ota hiekkalaatikkokäännökset (tunnetaan myös nimellä Sibling containers) käyttöön asettamalla seuraavat konfiguraatioasetukset tiedostoonoverleaf-toolkit/config/overleaf.rc:
config/overleaf.rc
Docker Composen käyttäjille
Overleaf CE/Server Pro -versiosta
5.0.3 alkaen ympäristömuuttujat on nimetty uudelleen muodosta SHARELATEX_* muotoon OVERLEAF_*.4.x (tai vanhempaa), varmista, että muuttujilla on vastaava etuliite (esim. SHARELATEX_MONGO_URL eikä OVERLEAF_MONGO_URL).
TeX Live -imagen määrittäminen
Manner-Kiinan käyttäjät voivat korvata
ghcr.io:n osoitteella ghcr.nju.edu.cn latauksen nopeuttamiseksi. ÄLÄ kuitenkaan käytä ghcr.nju.edu.cn-osoitetta suoraan Toolkitin ympäristöasetuksissa. Sinun tulee pitää ghcr.io ainoana vaihtoehtona.TEX_LIVE_DOCKER_IMAGE(pakollinen), Oletusarvoinen TeX Live -image, jota käytetään uusien projektien kääntämiseen. Tämän imagen on sisällyttävä muuttujaanALL_TEX_LIVE_DOCKER_IMAGES.ALL_TEX_LIVE_DOCKER_IMAGE_NAMES(pakollinen), Pilkuin eroteltu luettelo imagejen helppolukuisista nimistä, joita käytetään käyttöliittymän valinnoissa.ALL_TEX_LIVE_DOCKER_IMAGES(pakollinen), Pilkuin eroteltu luettelo käytettävistä TeX Live -imageista. Jos käyttöönotossa käytetään Overleaf Toolkitia, nämä imaget ladataan tai päivitetään. Voit ohittaa latauksen asettamallaSIBLING_CONTAINERS_PULL=falsetiedostoonconfig/overleaf.rc.
bin/up, Toolkit hakee automaattisesti kaikki muuttujassa ALL_TEX_LIVE_DOCKER_IMAGES luetellut imaget.
Tässä esimerkissä uusien projektien oletuksena on TeX Live 2026, ja vanhoissa projekteissa käytetään edelleen versiota 2025.
- Minimiasennus
- Täysi asennus
Seuraava konfiguraatio asentaa kaikki täydet TeX Live Docker -imaget vuosilta 2025–2026. Suosittelemme, että käytettävissä on vähintään 64 Gt tallennustilaa ennen tämän konfiguraation käyttöä.
config/variables.env
On erittäin suositeltavaa määrittää vähintään 2 texlive-full-imagea. Yksityiskohtainen syy on kerrottu kohdassa #known-issues
Saatavilla olevat TeX Live -imaget
Nämä ovat Overleafia varten erityisesti optimoituja TeX Live -imageja, jotka voidaan lisätä myös muuttujiinTEX_LIVE_DOCKER_IMAGE ja ALL_TEX_LIVE_DOCKER_IMAGES:
ghcr.io/ayaka-notes/texlive-full:2026.1(myös tagilatest)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
Voinko käyttää muuta image-rekisteriä
Jotkut saattavat miettiä, voiko ghcr.io:n korvata toisella peilisivustolla tai vaihtaa texliven toiseen Docker Hubin imageen?
Ei, emme suosittele sitä, koska konfigurointi on melko monimutkaista. Jos lataat peilisivustolta, voit nimetä imagesi uudelleen muotoon ghcr.io/ayaka-notes/texlive-full.
Jos kuitenkin todella haluat käyttää omaa image-rekisteriäsi, lisää:
config/variables.env
your-repo, esimerkiksi
hub.your.com/your-repo/texlive-full:2025.1hub.your.com/your-repo/texlive-full:2024.1
sandboxed-compiles/index.mjs
TeX Live -imagen automaattinen synkronointi
Jotta sinun ei tarvitsisi joka kerta päivittää instanssiasi manuaalisesti komennollabin/up, voit automatisoida TeX Live -imagen päivitykset. Katso updating-tex-live-full-images-automatically.md.
Tunnetut ongelmat
Tämä on todellinen tapaus Overleaf-yhteisöstä:Käytän versiotaTeknisten rajoitusten vuoksi, jos määrität vain yhden Docker TeXLive -imagen, kuten6.0.1-ext-v3.3, ja minulla on nämä asetukset tiedostossavariables.env:Tämä toimii hyvin imagellatexlive/texlive:latest-full. Hain kuitenkin toisen texlive-imagendanteev/texlive:2025-10-15ja vaihdoin molempiin muuttujiin uuden imagen nimen, mutta se ei toimi:Lokeissa näen seuraavaa:Vaikuttaa siltä, että tiedostonvariables.envpäivitetyt asetukset eivät tule voimaan. Käännös yrittää edelleen ajaa imageatexlive/texlive:latest-fulleikä uutta imagea. Kokeilin uudelleenkäynnistystä sekä konttien poistamista ja uudelleenajoa, mutta ongelma on edelleen sama. Onko ratkaisuja?
texlive-fullA:latest
texlive-fullB:latest, huomaat, etteivät käyttäjäsi pysty kääntämään yhtään projektia.

