> 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/pl/texlive-w-dockerze.md).

# TeXLive w Dockerze

### Docker

Docker zapewnia lekkie i przenośne rozwiązanie do pakowania i uruchamiania aplikacji w odizolowanych kontenerach. Dzięki połączeniu aplikacji ze wszystkimi wymaganymi zależnościami kontener zapewnia spójne działanie na różnych maszynach, od laptopów po serwery produkcyjne.

TeX Live jest potężny, ale duży i wrażliwy na różnice na poziomie systemu. Spakowanie TeX Live w obrazie Docker sprawia, że łańcuch narzędzi LaTeX staje się przewidywalny, odtwarzalny i łatwy do dystrybucji.

Jednak niektóre pakiety TeX Live polegają na dostępie do powłoki. Ze względów bezpieczeństwa kontener powinien działać w ograniczonym środowisku, które uniemożliwia użytkownikom wykonywanie dowolnych poleceń powłoki (na przykład przez `\write18` lub shell escape). Ta izolacja chroni system gospodarza i zapobiega niezamierzonemu dostępowi do podstawowego systemu plików kontenera lub narzędzi takich jak `bash`.

### Pełna edycja TeXLive

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) jest w pełni funkcjonalnym **obrazem Docker TeXLive** zaprojektowanym specjalnie dla Overleaf Server Pro, Overleaf Pro, a także samodzielnych środowisk kompilacji LaTeX, takich jak CI lub potoki.

Ten obraz ma na celu zapewnić niemal kompletną dystrybucję TeXLive z powszechnie używanymi czcionkami i narzędziami wstępnie zainstalowanymi, aby zminimalizować błędy kompilacji spowodowane brakującymi pakietami lub czcionkami.

Funkcje:

* 🚀 Obsługa zarówno architektur serwerowych x86\_64, jak i arm64
* 📦 Pełna i zoptymalizowana instalacja TeXLive
* 🧩 Wstępnie zainstalowane popularne czcionki i narzędzia
* 🐳 Gotowe do użycia z Dockerem i Docker Compose
* 🧪 Przetestowane z Overleaf Server Pro / Overleaf Pro
* 🔄 Regularnie aktualizowane do najnowszych wydań TeXLive
* 🏷 Tagi wielu wersji TeXLive (2020 – najnowsza)
* 🧑‍🔬 Obsługa Knitr dla kodu R w dokumentach LaTeX

### Korzystanie z Overleaf Pro

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) wsparcie **Overleaf Pro**, możesz użyć następujących zmiennych środowiskowych, aby `config/variables.env` plik, jeśli jesteś [użytkownikiem toolkit](https://github.com/overleaf/toolkit).

Na przykład:

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

### Wersja TeXLive

Dzięki GitHub Action możemy budować wszystkie obrazy tex równolegle, co obejmuje:

* `ghcr.io/ayaka-notes/texlive-full:2026.1` (także `najnowszy` znacznik)
* `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`

Korzystamy z archiwum lustrzanego z [informacje o texlive](https://texlive.info/tlnet-archive/), które obejmuje prawie wszystkie obrazy texlive od 1996 do 2026. I dzięki Dockerfile'owi Overleaf możemy budować ten projekt szybciej.

> Dlaczego texlive 2019 i wcześniejsze nie są obsługiwane?
>
> Utrzymanie takich obrazów jest niezwykle trudne. Uważamy też, że możesz już ich nie używać, ponieważ są zbyt stare. Jeśli potrzebujesz, otwórz zgłoszenie, aby dać mi znać.

### Zawarte komponenty

Następujące pakiety są zawarte w obrazie Docker.

* Wszystkie pakiety TeXLive (z tego roku)
* Pakiety R (tylko wybrane)
* fontconfig inkscape pandoc python3-pygments wget python3
* gnupg gnuplot perl-modules perl ca-certificates
* ghostscript qpdf r-base-core tar

W obrazie Docker zawarte są następujące czcionki.

* [Czcionki Google](https://fonts.google.com/)
* [Microsoft msttcorefonts](https://packages.ubuntu.com/jammy/ttf-mscorefonts-installer)
* [Czcionki obsługiwane przez Overleaf](https://www.overleaf.com/learn/latex/Questions/Which_OTF_or_TTF_fonts_are_supported_via_fontspec%3F)

{% hint style="warning" %}
Proszę potwierdzić, czy odpowiednie czcionki mogą być używane komercyjnie. Nie jesteśmy **odpowiedzialni** za wszelkie problemy prawne wynikające z niewłaściwego użycia czcionek. Po pobraniu obrazu automatycznie zgadzasz się na to.
{% endhint %}

### Licencja

MIT

### Problemy

<details>

<summary>Problem 01: Problem z brakiem pamięci podręcznej czcionek</summary>

Gdy Overleaf kompiluje projekt LaTeX, jeśli wystąpi brak czcionki, **możesz zauważyć, że proces kompilacji trwa długo**, ponieważ gdy brakuje czcionki, TeXLive spróbuje **odbudować całą pamięć podręczną czcionek**. To czasochłonny proces.

W naszym obrazie wstępnie zbudowaliśmy pamięć podręczną czcionek, naprawiamy ten problem przez [to zatwierdzenie](https://github.com/ayaka-notes/texlive-full/commit/0cb66b0dc8b82be628cf6999cfd659d9784e132f)

</details>

<details>

<summary>Problem 02: Bardzo wolna synchronizacja Tex</summary>

Gdy używasz tego obrazu w ShareLaTeX, możesz zauważyć, że synchronizacja tex jest niezwykle wolna.

Zobacz: <https://github.com/overleaf/overleaf/issues/1150>, po prostu wyłącz HTTP 2.0.

</details>

<details>

<summary>Problem 03: Błąd ponownej kompilacji z oficjalnym obrazem Texlive</summary>

Jeśli używasz oficjalnego obrazu texlive w Docker Hub `texlive/texlive`, możesz zauważyć, że gdy ponownie kompilujesz projekt, zostanie zgłoszony błąd. Jednak w naszym obrazie ten problem został naprawiony. Ponieważ używamy najnowszego obrazu bazowego Ubuntu i instalujemy wszystkie zależności z oficjalnego repozytorium Ubuntu.

</details>

### Inne przypomnienie techniczne

Podczas budowania obrazu texlive (sprzed 2019) możesz potrzebować zwrócić uwagę na następujące problemy:

* Tylko `http`/`ftp` jest obsługiwane przed texlive 2017, więc nie możesz użyć `https` do pobierania, chyba że zmodyfikujesz `peal` skrypt.
* Przed 2015 r. dostarczany jest tylko plik sha256. Więc nie możesz użyć sha512 do sprawdzenia.


---

# 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/pl/texlive-w-dockerze.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.
