> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/texlive/ru/texlive-v-docker.md).

# TeXLive в Docker

### Docker

Docker предоставляет лёгкий и переносимый способ упаковывать и запускать приложения в изолированных контейнерах. Объединяя приложение со всеми необходимыми зависимостями, контейнер обеспечивает стабильное поведение на разных машинах — от ноутбуков до production-серверов.

TeX Live — мощная, но большая и чувствительная к различиям на уровне системы среда. Упаковка TeX Live внутрь Docker-образа делает цепочку инструментов LaTeX предсказуемой, воспроизводимой и удобной для распространения.

Однако некоторые пакеты TeX Live полагаются на доступ к shell. По соображениям безопасности контейнер должен работать в ограниченной среде, которая не позволяет пользователям выполнять произвольные команды shell (например, через `\write18` или shell escape). Такая изоляция защищает хост-систему и предотвращает непреднамеренный доступ к базовой файловой системе контейнера или к инструментам, таким как `bash`.

### Полная версия TeXLive

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) является полнофункциональным **Docker-образом TeXLive** специально созданным для Overleaf Server Pro, Overleaf Pro, а также для автономных сред компиляции LaTeX, таких как CI или пайплайны.

Этот образ призван предоставить почти полную дистрибуцию TeXLive с предустановленными распространёнными шрифтами и инструментами, чтобы свести к минимуму ошибки компиляции, вызванные отсутствующими пакетами или шрифтами.

Возможности:

* 🚀 Поддержка серверных архитектур x86\_64 и arm64
* 📦 Полная и оптимизированная установка TeXLive
* 🧩 Предустановленные распространённые шрифты и утилиты
* 🐳 Готово к использованию с Docker и Docker Compose
* 🧪 Протестировано с Overleaf Server Pro / Overleaf Pro
* 🔄 Регулярно обновляется с последними выпусками TeXLive
* 🏷 Несколько тегов версий TeXLive (2020 — последняя)
* 🧑‍🔬 Поддержка Knitr для R-кода в документах LaTeX

### Использование Overleaf Pro

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) поддержка **Overleaf Pro**, вы можете использовать следующие переменные окружения, чтобы `файл config/variables.env` если вы [пользователь toolkit](https://github.com/overleaf/toolkit).

Например:

{% code title="файл config/variables.env" overflow="wrap" %}

```dotenv
ALL_TEX_LIVE_DOCKER_IMAGES=ghcr.io/ayaka-notes/texlive-full:2025.1, ghcr.io/ayaka-notes/texlive-full:2024.1
ALL_TEX_LIVE_DOCKER_IMAGE_NAMES=Texlive 2025, Texlive 2024
TEX_LIVE_DOCKER_IMAGE=ghcr.io/ayaka-notes/texlive-full:2025.1
```

{% endcode %}

### Версия TeXLive

Благодаря 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](https://texlive.info/tlnet-archive/), который включает почти все образы texlive, начиная с 1996 по 2026 год. И благодаря Dockerfile от Overleaf мы можем собирать этот проект быстрее.

> Почему texlive 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-образе.

* [Шрифты Google](https://fonts.google.com/)
* [Microsoft msttcorefonts](https://packages.ubuntu.com/jammy/ttf-mscorefonts-installer)
* [Поддерживаемые Overleaf шрифты](https://www.overleaf.com/learn/latex/Questions/Which_OTF_or_TTF_fonts_are_supported_via_fontspec%3F)

{% hint style="warning" %}
Пожалуйста, подтвердите, можно ли использовать соответствующие шрифты в коммерческих целях. Мы **не несем ответственности** за любые юридические проблемы, возникающие из-за неправильного использования шрифтов. После загрузки образа вы автоматически соглашаетесь с этим.
{% endhint %}

### Лицензия

MIT

### Проблемы

<details>

<summary>Проблема 01: Пропуск кэша шрифтов</summary>

Когда Overleaf компилирует проект LaTeX, если происходит отсутствие шрифта, **вы можете заметить, что процесс компиляции занимает много времени**, потому что при отсутствии шрифта TeXLive попытается **перестроить весь кэш шрифтов**. Это трудоёмкий процесс.

В нашем образе кэш шрифтов уже предварительно собран, и мы устраняем эту проблему с помощью [этого коммита](https://github.com/ayaka-notes/texlive-full/commit/0cb66b0dc8b82be628cf6999cfd659d9784e132f)

</details>

<details>

<summary>Проблема 02: Очень медленный Sync TeX</summary>

Когда вы используете этот образ в ShareLaTeX, вы можете заметить, что Sync TeX работает крайне медленно.

См.: <https://github.com/overleaf/overleaf/issues/1150>, просто отключите HTTP 2.0.

</details>

<details>

<summary>Проблема 03: Ошибка перекомпиляции с официальным образом TeXLive</summary>

Если вы используете официальный образ texlive из Docker Hub `texlive/texlive`, вы можете заметить, что при повторной компиляции проекта будет выдаваться ошибка. Однако в нашем образе эта проблема решена. Потому что мы используем новейший базовый образ Ubuntu и устанавливаем все зависимости из официального репозитория Ubuntu.

</details>

### Другое техническое напоминание

При сборке образа TeXLive (до 2019 года) вам может понадобиться обратить внимание на следующие проблемы:

* Только `http`/`ftp` поддерживается до TeXLive 2017, поэтому вы не можете использовать `https` для загрузки, если только вы не измените `peal` скрипт.
* До 2015 года предоставляется только файл sha256. Поэтому вы не можете использовать sha512 для проверки.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/texlive/ru/texlive-v-docker.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
