> 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/pt/texlive-no-docker.md).

# TeXLive no Docker

### Docker

O Docker fornece uma forma leve e portátil de empacotar e executar aplicações em contentores isolados. Ao agrupar a aplicação juntamente com todas as dependências necessárias, um contentor garante um comportamento consistente em diferentes máquinas, desde portáteis até servidores de produção.

O TeX Live é poderoso, mas grande e sensível a diferenças ao nível do sistema. Empacotar o TeX Live dentro de uma imagem Docker torna a cadeia de ferramentas LaTeX previsível, reprodutível e fácil de distribuir.

No entanto, alguns pacotes do TeX Live dependem de acesso à shell. Por razões de segurança, o contentor deve ser executado num ambiente restrito que impeça os utilizadores de executar comandos arbitrários na shell (por exemplo via `\write18` ou shell escape). Este isolamento protege o sistema anfitrião e evita o acesso indesejado ao sistema de ficheiros subjacente do contentor ou a ferramentas como `bash`.

### TeXLive Full Edition

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) é uma **imagem Docker TeXLive** concebida especialmente para o Overleaf Server Pro, Overleaf Pro e também para ambientes autónomos de compilação LaTeX, como CI ou pipelines.

Esta imagem tem como objetivo fornecer uma distribuição TeXLive quase completa, com fontes e ferramentas comuns pré-instaladas, de modo a minimizar falhas de compilação causadas por pacotes ou fontes em falta.

Funcionalidades:

* 🚀 Suporte para arquiteturas de servidor x86\_64 e arm64
* 📦 Instalação completa e otimizada do TeXLive
* 🧩 Fontes e utilitários comuns pré-instalados
* 🐳 Pronto a usar com Docker e Docker Compose
* 🧪 Testado com Overleaf Server Pro / Overleaf Pro
* 🔄 Atualizado regularmente com os lançamentos mais recentes do TeXLive
* 🏷 Várias etiquetas de versão do TeXLive (2020 – mais recente)
* 🧑‍🔬 Suporte Knitr para código R em documentos LaTeX

### Utilização no Overleaf Pro

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) suporte **Overleaf Pro**, pode usar as seguintes variáveis de ambiente para `config/variables.env` ficheiro se for [utilizador do toolkit](https://github.com/overleaf/toolkit).

Por exemplo:

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

### Versão do TeXLive

Graças ao GitHub Actions, podemos construir todas as imagens tex em paralelo, o que inclui:

* `ghcr.io/ayaka-notes/texlive-full:2026.1` (Também `mais recente` etiqueta)
* `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`

Usamos o arquivo espelho de [informação do texlive](https://texlive.info/tlnet-archive/), que inclui quase todas as imagens texlive, desde 1996 até 2026. E graças ao Dockerfile do Overleaf, podemos construir este projeto mais rapidamente.

> Porque é que o texlive 2019 e anteriores não são suportados ?
>
> Manter essas imagens é mais do que difícil. E acreditamos que talvez já não as use, porque são demasiado antigas. Se precisar, abra um issue para me informar.

### Componente incluído

Os seguintes pacotes estão incluídos na imagem Docker.

* Todos os pacotes TeXLive (daquele ano)
* Pacotes R (apenas selecionados)
* fontconfig inkscape pandoc python3-pygments wget python3
* gnupg gnuplot perl-modules perl ca-certificates
* ghostscript qpdf r-base-core tar

As seguintes fontes estão incluídas na imagem Docker.

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

{% hint style="warning" %}
Confirme, por favor, se as fontes relevantes podem ser usadas comercialmente. Nós não somos **responsáveis** por quaisquer problemas legais resultantes da utilização incorreta das fontes. Assim que descarregar a imagem, concorda automaticamente com isto.
{% endhint %}

### Licença

MIT

### Problemas

<details>

<summary>Problema 01: Problema de falha na cache de fontes</summary>

Quando o Overleaf compila um projeto LaTeX, se ocorrer a falta de uma fonte, **pode notar que o processo de compilação demora muito tempo**; isso acontece porque, quando falta uma fonte, o TeXLive tentará **reconstruir toda a cache de fontes**. Este é um processo demorado.

Na nossa imagem, já pré-construímos a cache de fontes; corrigimos este problema com [este commit](https://github.com/ayaka-notes/texlive-full/commit/0cb66b0dc8b82be628cf6999cfd659d9784e132f)

</details>

<details>

<summary>Problema 02: Sync TeX extremamente lento</summary>

Quando usa esta imagem no ShareLaTeX, pode notar que o Sync TeX é extremamente lento.

Veja: <https://github.com/overleaf/overleaf/issues/1150>; basta desativar o HTTP 2.0.

</details>

<details>

<summary>Problema 03: Erro de recompilação com a imagem oficial do Texlive</summary>

Se usar a imagem oficial do texlive no Docker Hub `texlive/texlive`, pode notar que, ao recompilar um projeto, é reportado um erro. No entanto, na nossa imagem, este problema está corrigido. Porque usamos a imagem base mais recente do Ubuntu e instalamos todas as dependências a partir do repositório oficial do Ubuntu.

</details>

### Outro lembrete técnico

Ao construir a imagem texlive (antes de 2019), talvez precise de prestar atenção aos seguintes problemas:

* Apenas `http`/`ftp` é suportado antes do texlive 2017, por isso não pode usar `https` para descarregar, a menos que modifique o `peal` script.
* Antes de 2015, é fornecido apenas o ficheiro sha256. Por isso, não pode usar sha512 para verificar.


---

# 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/pt/texlive-no-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.
