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, который содержит практически все выпуски TeX Live с 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.
Если вы используете официальный образ TeX Live с Docker Hub texlive/texlive, при повторной компиляции проекта может возникать ошибка. В нашем образе эта проблема исправлена, поскольку мы используем последний базовый образ Ubuntu и устанавливаем все зависимости из официального репозитория Ubuntu.

Прочие технические замечания

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