Gelişmiş güvenlik
Birçok LaTeX belgesi, PDF derleme sürecinin bir parçası olarak rastgele kabuk komutları çalıştırmayı gerektirdiğinden/çalıştırabildiğinden, Sandboxed Compiles (Sandbox Derlemeleri) Ayakaleaf Pro için önerilen yaklaşımdır. Sandboxed Compiles kullanırsanız her derleme, başka hiçbir kullanıcı veya projeyle paylaşılmayan, kısıtlı yeteneklere sahip ve ana makine ağı gibi dış kaynaklara erişimi olmayan ayrı bir Docker konteynerinde çalışır.Daha kolay paket yönetimi
Paketleri elle kurmaktan kaçınmak için Sandboxed Compiles özelliğini etkinleştirmenizi öneririz. Bu, Server Pro içinde yapılandırılabilen bir ayardır ve kullanıcılarınıza overleaf.com’dakiyle aynı TeX Live ortamına, ancak kendi şirket içi kurulumunuzda erişim sağlar. Sandboxed Compiles tarafından kullanılan TeX Live imajları, galeri şablonlarımızla test edilmiş en popüler paketleri ve yazı tiplerini içerir ve şirket içi projelerle en yüksek uyumluluğu sağlar. Sandboxed Compiles’ı etkinleştirmek, kullanıcıların projelerinde hangi TeX Live sürümleri arasından seçim yapabileceğini yapılandırmanıza ve yeni projeler için varsayılan bir TeX Live imaj sürümü belirlemenize olanak tanır.Ayakaleaf Pro’yu Sandboxed Compiles olmadan çalıştırmaya çalışırsanız, örneğiniz derlemeler için varsayılan olarak TeX Live’ın basic scheme sürümünü kullanır. Bu temel sürüm hafiftir ve LaTeX paketlerinin yalnızca çok sınırlı bir alt kümesini içerir; bu da büyük olasılıkla kullanıcılarınız için, özellikle hazır şablonları kullanmaya çalıştıklarında, eksik paket hatalarına yol açar.
Sandboxed Compiles,
sharelatex konteynerinin bu kardeş derleme konteynerlerini yönetebilmesi için ana makinedeki Docker soketine (bir bind mount aracılığıyla) erişimi olmasını gerektirir.Nasıl çalışır
Sandboxed Compiles etkinleştirildiğinde, Docker soketi ana makinedensharelatex konteynerine bağlanır; böylece konteynerdeki derleyici servisi ana makinede yeni Docker konteynerleri oluşturabilir. Ardından her projedeki her derleme çalıştırması için LaTeX derleyici servisi (CLSI) şunları yapar:
- Proje dosyalarını
OVERLEAF_DATA_PATHiçindeki bir konuma yazar. - Derleme çalıştırması için yeni bir
texlivekonteyneri oluşturmak üzere bağlanan Docker soketini kullanır. texlivekonteynerinin proje verileriniOVERLEAF_DATA_PATHaltındaki konumdan okumasını sağlar.- Projeyi
texlivekonteyneri içinde derler.
Sandboxed Compiles’ı Etkinleştirme
Toolkit Kullanıcıları İçin
Sandbox derlemelerini (Sibling containers / kardeş konteynerler olarak da bilinir) etkinleştirmek içinoverleaf-toolkit/config/overleaf.rc içinde aşağıdaki yapılandırma seçeneklerini ayarlayın:
config/overleaf.rc
Docker Compose Kullanıcıları İçin
Overleaf CE/Server Pro
5.0.3 sürümünden itibaren ortam değişkenleri SHARELATEX_* yerine OVERLEAF_* olarak yeniden adlandırılmıştır.4.x (veya daha eski) bir sürüm kullanıyorsanız, lütfen değişkenlerin uygun önekle başladığından emin olun (ör. OVERLEAF_MONGO_URL yerine SHARELATEX_MONGO_URL).
TexLive İmajını Ayarlama
Çin anakarasındaki kullanıcılar, indirmeyi hızlandırmak için
ghcr.io yerine ghcr.nju.edu.cn kullanabilir. Ancak toolkit ortam ayarlarınızda ghcr.nju.edu.cn adresini doğrudan KULLANMAYIN. Tek seçeneğiniz olarak ghcr.io adresini korumalısınız.TEX_LIVE_DOCKER_IMAGE(zorunlu), Yeni projeleri derlemek için kullanılan varsayılan TeX Live imajı. Bu imajALL_TEX_LIVE_DOCKER_IMAGESiçinde yer almalıdır.ALL_TEX_LIVE_DOCKER_IMAGE_NAMES(zorunlu), İmajlar için ön yüz seçeneklerinde kullanılan, virgülle ayrılmış kullanıcı dostu adlar listesi.ALL_TEX_LIVE_DOCKER_IMAGES(zorunlu), Kullanılacak TeX Live imajlarının virgülle ayrılmış listesi. Dağıtım için Overleaf Toolkit kullanılıyorsa bu imajlar indirilir veya güncellenir. İndirmeyi atlamak içinconfig/overleaf.rciçindeSIBLING_CONTAINERS_PULL=falseayarlayın.
bin/up komutuyla başlattığınızda Toolkit, ALL_TEX_LIVE_DOCKER_IMAGES içinde listelenen tüm imajları otomatik olarak çeker.
Aşağıda, yeni projeler için varsayılan olarak TeX Live 2026’yı kullandığımız ve eski projeler için 2025’i kullanmaya devam ettiğimiz bir örnek yer almaktadır.
- Minimum kurulum
- Tam kurulum
Aşağıdaki yapılandırma 2025’ten 2026’ya kadar tüm tam TeX Live Docker imajlarını kurar. Bu yapılandırmayı kullanmadan önce en az 64 GB boş depolama alanına sahip olmanızı öneririz.
config/variables.env
En az 2 texlive-full imajı ayarlamanız şiddetle önerilir. Ayrıntılı neden için #known-issues bölümüne bakın.
Kullanılabilir TeX Live imajları
Aşağıdakiler, Overleaf için özel olarak optimize edilmiş veTEX_LIVE_DOCKER_IMAGE ile ALL_TEX_LIVE_DOCKER_IMAGES değişkenlerine de eklenebilen bir dizi TeX Live imajıdır:
ghcr.io/ayaka-notes/texlive-full:2026.1(Ayrıcalatestetiketi)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
Başka Bir İmaj Kayıt Defteri (Registry) Kullanabilir miyim?
Bazı kişiler ghcr.io adresini başka bir yansı (mirror) siteyle değiştirip değiştiremeyeceklerini veya texlive’ı Docker Hub’daki başka bir imaja geçirip geçiremeyeceklerini merak edebilir.
Hayır, yapılandırma görece karmaşık olduğundan bunu önermiyoruz. Bir yansı siteden indiriyorsanız imajınızı ghcr.io/ayaka-notes/texlive-full olarak yeniden adlandırabilirsiniz.
Ancak gerçekten kendi imaj kayıt defterinizi kullanmak istiyorsanız lütfen şunu ekleyin:
config/variables.env
your-repo içinde bulunduğundan emin olmanız gerekir, örneğin:
hub.your.com/your-repo/texlive-full:2025.1hub.your.com/your-repo/texlive-full:2024.1
sandboxed-compiles/index.mjs
Otomatik TeX Live İmajı Senkronizasyonu
Örneğinizi her seferindebin/up ile elle güncellemekten kaçınmak için TeX Live imajınızın güncellemelerini otomatikleştirebilirsiniz. Bkz. updating-tex-live-full-images-automatically.md.
Bilinen Sorunlar
Overleaf topluluğundan gerçek bir vaka:Bazı teknik sınırlamalar nedeniyle,6.0.1-ext-v3.3kullanıyorum vevariables.enviçinde şu ayarlar var:Bu,texlive/texlive:latest-fullile sorunsuz çalışıyor. Ancak başka bir texlive imajı olandanteev/texlive:2025-10-15imajını çektim ve her iki değişkeni de yeni imaj adıyla değiştirdim, fakat çalışmıyor:Günlüklerde şunu görüyorum:Görünüşe görevariables.enviçindeki güncellenmiş ayarlar etkili olmuyor. Derleme hâlâ yeni imajı değil,texlive/texlive:latest-fullimajını çalıştırmaya çalışıyor. Yeniden başlatmayı, konteynerleri silip yeniden çalıştırmayı denedim, ama sorun aynı. Herhangi bir çözüm var mı?
texlive-fullA:latest gibi yalnızca tek bir Docker TeXLive imajı ayarlarsanız
texlive-fullB:latest olarak değiştirmek isterseniz, kullanıcılarınızın hiçbir projeyi derleyemediğini görürsünüz.

