> 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/cs/texlive-v-dockeru.md).

# TeXLive v Dockeru

### Docker

Docker poskytuje lehký a přenosný způsob, jak balit a spouštět aplikace v izolovaných kontejnerech. Spojením aplikace se všemi požadovanými závislostmi kontejner zajišťuje konzistentní chování na různých strojích, od notebooků až po produkční servery.

TeX Live je výkonný, ale rozsáhlý a citlivý na rozdíly na úrovni systému. Zabalení TeX Live do obrazu Dockeru činí LaTeXový toolchain předvídatelným, reprodukovatelným a snadno distribuovatelným.

Nicméně některé balíčky TeX Live spoléhají na přístup k shellu. Z bezpečnostních důvodů by měl kontejner běžet v omezeném prostředí, které zabrání uživatelům spouštět libovolné shellové příkazy (například přes `\\write18` nebo shell escape). Tato izolace chrání hostitelský systém a zabraňuje neúmyslnému přístupu k podkladovému souborovému systému kontejneru nebo k nástrojům, jako je `bash`.

### TeXLive Full Edition

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) je plně vybavený **obraz Dockeru TeXLive** navržený speciálně pro Overleaf Server Pro, Overleaf Pro a také pro samostatná prostředí pro kompilaci LaTeXu, jako je CI nebo pipeline.

Tento obraz si klade za cíl poskytnout téměř kompletní distribuci TeXLive s běžnými fonty a nástroji předinstalovanými, aby se minimalizovaly chyby kompilace způsobené chybějícími balíčky nebo fonty.

Funkce:

* 🚀 Podpora serverových architektur x86\_64 i arm64
* 📦 Plná a optimalizovaná instalace TeXLive
* 🧩 Předinstalované běžné fonty a nástroje
* 🐳 Připraveno k použití s Dockerem a Docker Compose
* 🧪 Otestováno s Overleaf Server Pro / Overleaf Pro
* 🔄 Pravidelně aktualizováno na nejnovější vydání TeXLive
* 🏷 Více značek verzí TeXLive (2020 – nejnovější)
* 🧑‍🔬 Podpora Knitr pro R kód v LaTeX dokumentech

### Použití Overleaf Pro

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) podpora **Overleaf Pro**můžete použít následující proměnné prostředí k `config/variables.env` soubor, pokud jste [uživatel toolkitu](https://github.com/overleaf/toolkit).

Například:

{% 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 %}

### Verze TeXLive

Díky GitHub Actions můžeme sestavit všechny texové obrazy paralelně, včetně:

* `ghcr.io/ayaka-notes/texlive-full:2026.1` (také `nejnovější` značka)
* `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`

Používáme zrcadlový archiv z [informace o texlive](https://texlive.info/tlnet-archive/)který zahrnuje téměř všechny obrazy texlive v rozmezí od 1996 do 2026. A díky Dockerfile od Overleafu můžeme tento projekt sestavit rychleji.

> Proč nejsou podporovány texlive 2019 a starší?
>
> Udržovat takové obrazy je více než obtížné. A věříme, že je už možná nebudete používat, protože jsou příliš staré. Pokud je potřebujete, otevřete issue a dejte mi vědět.

### Zahrnuté komponenty

Následující balíčky jsou obsaženy v obrazu Dockeru.

* Všechny balíčky TeXLive (v daném roce)
* Balíčky R (pouze vybrané)
* fontconfig inkscape pandoc python3-pygments wget python3
* gnupg gnuplot perl-modules perl ca-certificates
* ghostscript qpdf r-base-core tar

Následující fonty jsou obsaženy v obrazu Dockeru.

* [Google Fonts](https://fonts.google.com/)
* [Microsoft msttcorefonts](https://packages.ubuntu.com/jammy/ttf-mscorefonts-installer)
* [Fonty podporované Overleafem](https://www.overleaf.com/learn/latex/Questions/Which_OTF_or_TTF_fonts_are_supported_via_fontspec%3F)

{% hint style="warning" %}
Prosím potvrďte, zda lze příslušné fonty používat komerčně. Nejsme **odpovědní** za jakékoli právní problémy vzniklé v důsledku vašeho nesprávného použití fontů. Jakmile obraz stáhnete, automaticky s tím souhlasíte.
{% endhint %}

### Licence

MIT

### Problémy

<details>

<summary>Problém 01: Problém s chybějící cache fontů</summary>

Když Overleaf kompiluje LaTeX projekt, pokud dojde k chybějícímu fontu, **můžete zjistit, že kompilace trvá dlouho**protože když font chybí, TeXLive se pokusí **znovu sestavit celou cache fontů**. Je to časově náročný proces.

V našem obrazu jsme cache fontů předem vytvořili, tento problém řešíme [tímto commitem](https://github.com/ayaka-notes/texlive-full/commit/0cb66b0dc8b82be628cf6999cfd659d9784e132f)

</details>

<details>

<summary>Problém 02: SyncTeX je extrémně pomalý</summary>

Když použijete tento obraz v ShareLaTeXu, můžete zjistit, že SyncTeX je extrémně pomalý.

Viz: <https://github.com/overleaf/overleaf/issues/1150>stačí vypnout HTTP 2.0.

</details>

<details>

<summary>Problém 03: Chyba při opětovné kompilaci s oficiálním obrazem Texlive</summary>

Pokud použijete oficiální obraz texlive na Docker Hubu `texlive/texlive`, můžete zjistit, že když projekt znovu kompilujete, zobrazí se chyba. V našem obrazu je však tento problém opraven. Protože používáme nejnovější základní obraz Ubuntu a instalujeme všechny závislosti z oficiálního repozitáře Ubuntu.

</details>

### Další technická poznámka

Při sestavování obrazu texlive (před rokem 2019) je třeba věnovat pozornost následujícím problémům:

* Pouze `http`/`ftp` je podporováno před texlive 2017, takže nemůžete používat `https` ke stahování, pokud neupravíte `peal` skript.
* Před rokem 2015 je poskytován pouze soubor sha256. Takže k ověření nemůžete použít 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/cs/texlive-v-dockeru.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.
