Skip to main content

Docker

Docker — це легкий і портативний спосіб пакування та запуску застосунків в ізольованих контейнерах. Завдяки об’єднанню застосунку з усіма необхідними залежностями контейнер забезпечує однакову поведінку на різних машинах — від ноутбуків до виробничих серверів. TeX Live — потужний, але великий дистрибутив, чутливий до відмінностей на рівні системи. Пакування TeX Live в Docker-образ робить інструментарій LaTeX передбачуваним, відтворюваним і простим у розповсюдженні. Водночас деякі пакети TeX Live покладаються на доступ до оболонки. З міркувань безпеки контейнер має працювати в обмеженому середовищі, яке не дає користувачам виконувати довільні команди оболонки (наприклад, через \write18 або shell escape). Така ізоляція захищає хост-систему та запобігає небажаному доступу до файлової системи контейнера чи таких інструментів, як bash.

Повна редакція TeXLive

TeXLive-Full@ayaka-notes — це повнофункціональний Docker-образ TeXLive, призначений для ізольованої компіляції LaTeX в Ayakaleaf Pro, Overleaf CEP або в окремих середовищах компіляції LaTeX. Цей образ має на меті надати майже повний дистрибутив TeXLive з попередньо встановленими поширеними шрифтами й інструментами, щоб мінімізувати збої компіляції через відсутні пакети чи шрифти. Примітка: цей Docker-образ не містить жодних компонентів sharelatex/overleaf. Він використовується для компіляції в Overleaf/Overleaf Pro.

Можливості:

  • 🚀 Підтримка серверних архітектур x86_64 і arm64
  • 📦 Повна й оптимізована інсталяція TeXLive
  • 🧩 Попередньо встановлені поширені шрифти й утиліти
  • 🐳 Готовий до використання з Docker і Docker Compose
  • 🧪 Протестовано з Overleaf Server Pro / Overleaf Pro
  • 🔄 Регулярно оновлюється з найновішими випусками TeXLive
  • 🏷 Теги для кількох версій TeXLive (2020 – найновіша)
  • 🧑‍🔬 Підтримка Knitr для коду R у документах LaTeX

Використання в Ayakaleaf Pro

TeX Live Full від Ayaka-notes спеціально розроблено для ayakaleaf-pro; якщо ви користувач toolkit, можете додати такі змінні середовища до файлу config/variables.env. Наприклад:
config/variables.env

Версії TeX Live

Завдяки Github Action ми можемо збирати всі TeX-образи паралельно, серед них:
  • ghcr.io/ayaka-notes/texlive-full:2026.1 (також тег latest)
  • 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
Ми використовуємо дзеркальний архів із texlive info, який містить майже всі версії texlive з 1996 по 2025 рік. А завдяки Dockerfile від Overleaf ми можемо збирати цей проєкт швидше.
Чому TeX Live 2019 і старіші версії не підтримуються? Підтримувати ці старі образи надзвичайно складно. Крім того, сайт texlive.info не надає інформації про версії TeX Live, випущені до 2019 року, тому ми не можемо зібрати образи для цих версій. Якщо вам потрібна певна стара версія, створіть issue і повідомте нас.

Вміст образу

Docker-образ містить такі пакети:
  • Усі пакети TeXLive (відповідного року)
  • Пакети R (лише вибрані)
  • fontconfig inkscape pandoc python3-pygments wget python3
  • gnupg gnuplot perl-modules perl ca-certificates
  • ghostscript qpdf r-base-core tar
Docker-образ містить такі шрифти:
Переконайтеся, що відповідні шрифти можна використовувати в комерційних цілях. Ми не несемо відповідальності за будь-які юридичні проблеми, що виникнуть унаслідок неправильного використання шрифтів. Завантажуючи образ, ви автоматично погоджуєтеся з цим.

Ліцензія

MIT

Проблеми

Якщо під час компіляції проєкту LaTeX в Overleaf виявляється відсутній шрифт, компіляція може тривати дуже довго, оскільки за відсутності шрифту texlive намагається перебудувати весь кеш шрифтів. Це тривалий процес.У нашому образі кеш шрифтів побудовано заздалегідь — ми виправили цю проблему цим комітом
Використовуючи цей образ у sharelatex, ви можете помітити, що SyncTeX працює надзвичайно повільно.Див.: https://github.com/overleaf/overleaf/issues/1150 — просто вимкніть http 2.0.
Якщо ви використовуєте офіційний образ texlive з Docker Hub texlive/texlive, можете помітити, що під час повторної компіляції проєкту виникає помилка. У нашому образі цю проблему виправлено, оскільки ми використовуємо найновіший базовий образ ubuntu і встановлюємо всі залежності з офіційного репозиторію ubuntu.

Інші технічні зауваги

Під час збирання образів texlive (до 2019 року) варто звернути увагу на такі проблеми:
  • До texlive 2017 підтримуються лише http/ftp, тому завантажувати через https не вийде, якщо не змінити скрипт peal.
  • До 2015 року надається лише файл sha256, тому перевірити за допомогою sha512 неможливо.
Останнє оновлення 4 жовтня 2026 р.