> 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/uk/texlive-u-docker.md).

# TeXLive у Docker

### Docker

Docker надає легкий і портативний спосіб пакувати та запускати застосунки в ізольованих контейнерах. Об’єднуючи застосунок разом з усіма необхідними залежностями, контейнер забезпечує однакову поведінку на різних машинах — від ноутбуків до виробничих серверів.

TeX Live є потужним, але великим і чутливим до відмінностей на рівні системи. Упакування TeX Live всередині образу Docker робить набір інструментів LaTeX передбачуваним, відтворюваним і простим у поширенні.

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

### Повне видання TeXLive

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

Цей образ має на меті надати майже повний дистрибутив 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 Actions ми можемо паралельно збирати всі образи tex, зокрема:

* `ghcr.io/ayaka-notes/texlive-full:2026.1` (Також `останній` тег)
* `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: Дуже повільна синхронізація TeX</summary>

Коли ви використовуєте цей образ у sharelatex, ви можете помітити, що синхронізація 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/uk/texlive-u-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.
