Skip to main content

Docker

Docker, uygulamaları yalıtılmış konteynerlerde paketlemek ve çalıştırmak için hafif ve taşınabilir bir yol sunar. Bir konteyner, uygulamayı gerekli tüm bağımlılıklarla birlikte paketleyerek dizüstü bilgisayarlardan üretim sunucularına kadar farklı makinelerde tutarlı davranış sağlar. TeX Live güçlüdür ancak büyüktür ve sistem düzeyindeki farklılıklara karşı hassastır. TeX Live’ı bir Docker imajı içinde paketlemek, LaTeX araç zincirini öngörülebilir, yeniden üretilebilir ve kolay dağıtılabilir hale getirir. Ancak bazı TeX Live paketleri kabuk erişimine dayanır. Güvenlik nedeniyle konteyner, kullanıcıların keyfi kabuk komutları çalıştırmasını (örneğin \write18 veya shell escape aracılığıyla) engelleyen kısıtlı bir ortamda çalışmalıdır. Bu yalıtım ana sistemi korur ve konteynerin alttaki dosya sistemine veya bash gibi araçlara istenmeyen erişimi önler.

TeXLive Full Sürümü

TeXLive-Full@ayaka-notes, Ayakaleaf Pro, Overleaf CEP veya bağımsız LaTeX derleme ortamlarında sandbox içinde LaTeX derlemesi için tasarlanmış, tam özellikli bir TeXLive Docker imajıdır. Bu imaj, eksik paketler veya yazı tiplerinden kaynaklanan derleme hatalarını en aza indirmek için yaygın yazı tipleri ve araçlar önceden kurulmuş, neredeyse eksiksiz bir TeXLive dağıtımı sunmayı amaçlar. Not: Bu Docker imajı herhangi bir sharelatex/overleaf bileşeni içermez. Overleaf/Overleaf Pro’nun derlemesi için kullanılır.

Özellikler:

  • 🚀 Hem x86_64 hem de arm64 sunucu mimarilerini destekler
  • 📦 Eksiksiz ve optimize edilmiş TeXLive kurulumu
  • 🧩 Önceden kurulmuş yaygın yazı tipleri ve araçlar
  • 🐳 Docker ve Docker Compose ile kullanıma hazır
  • 🧪 Overleaf Server Pro / Overleaf Pro ile test edilmiştir
  • 🔄 En son TeXLive sürümleriyle düzenli olarak güncellenir
  • 🏷 Birden çok TeXLive sürüm etiketi (2020 – En Son)
  • 🧑‍🔬 LaTeX belgelerinde R kodu için Knitr desteği

Ayakaleaf Pro ile Kullanım

Ayaka-notes tarafından hazırlanan TeX Live Full, ayakaleaf-pro için özel olarak tasarlanmıştır; toolkit kullanıcısıysanız aşağıdaki ortam değişkenlerini config/variables.env dosyasında kullanabilirsiniz. Örneğin:
config/variables.env

TeX Live Sürümü

Github Action sayesinde tüm tex imajlarını paralel olarak derleyebiliyoruz; bunlar şunlardır:
  • ghcr.io/ayaka-notes/texlive-full:2026.1 (Ayrıca latest etiketi)
  • ghcr.io/ayaka-notes/texlive-full:2025.1
  • ghcr.io/ayaka-notes/texlive-full:2024.1
  • ghcr.io/ayaka-notes/texlive-full:2023.1
  • ghcr.io/ayaka-notes/texlive-full:2022.1
  • ghcr.io/ayaka-notes/texlive-full:2021.1
  • ghcr.io/ayaka-notes/texlive-full:2020.1
  • ghcr.io/ayaka-notes/texlive-full:base
1996’dan 2025’e kadar neredeyse tüm texlive imajlarını içeren texlive info ayna arşivini kullanıyoruz. Ayrıca Overleaf’in Dockerfile’ı sayesinde bu projeyi daha hızlı derleyebiliyoruz.
TeX Live 2019 ve öncesi neden desteklenmiyor? Bu eski imajların bakımını yapmak son derece zordur. Ayrıca texlive.info web sitesi 2019’dan önce yayımlanan TeX Live sürümleri için bilgi sağlamadığından bu sürümler için imaj oluşturamıyoruz. Belirli bir eski sürüme ihtiyacınız varsa lütfen bir issue açarak bize bildirin.

İçerilen Bileşenler

Docker imajında aşağıdaki paketler bulunur.
  • Tüm TeXLive paketleri (ilgili yıla ait)
  • R paketleri (yalnızca seçilmiş olanlar)
  • fontconfig inkscape pandoc python3-pygments wget python3
  • gnupg gnuplot perl-modules perl ca-certificates
  • ghostscript qpdf r-base-core tar
Docker imajında aşağıdaki yazı tipleri bulunur.
Lütfen ilgili yazı tiplerinin ticari olarak kullanılıp kullanılamayacağını teyit edin. Yazı tiplerini yanlış kullanmanızdan kaynaklanan herhangi bir yasal sorundan sorumlu değiliz. İmajı indirdiğiniz anda bunu otomatik olarak kabul etmiş olursunuz.

Lisans

MIT

Sorunlar

Overleaf bir LaTeX projesini derlerken bir yazı tipi bulunamazsa derleme işleminin uzun sürdüğünü görebilirsiniz; bunun nedeni, bir yazı tipi eksik olduğunda texlive’ın tüm yazı tipi önbelleğini yeniden oluşturmaya çalışmasıdır. Bu zaman alıcı bir işlemdir.İmajımızda yazı tipi önbelleğini önceden oluşturduk; bu sorunu bu commit ile düzelttik
Bu imajı sharelatex’te kullandığınızda SyncTeX’in aşırı yavaş olduğunu görebilirsiniz.Bkz.: https://github.com/overleaf/overleaf/issues/1150; HTTP 2.0’ı devre dışı bırakmanız yeterlidir.
Docker Hub’daki resmi texlive imajını (texlive/texlive) kullanırsanız, bir projeyi yeniden derlediğinizde hata bildirdiğini görebilirsiniz. Ancak bizim imajımızda bu sorun düzeltilmiştir. Çünkü en son Ubuntu temel imajını kullanıyor ve tüm bağımlılıkları Ubuntu’nun resmi deposundan kuruyoruz.

Diğer Teknik Hatırlatmalar

texlive imajı derlerken (2019 öncesi) aşağıdaki sorunlara dikkat etmeniz gerekebilir:
  • texlive 2017’den önce yalnızca http/ftp desteklenir; bu nedenle peal betiğini değiştirmediğiniz sürece indirme için https kullanamazsınız.
  • 2015’ten önce yalnızca sha256 dosyası sağlanır. Bu nedenle sha512 ile doğrulama yapamazsınız.
Son değiştirilme tarihi 4 Ekim 2026