> 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/id/texlive-di-docker.md).

# TeXLive di Docker

### Docker

Docker menyediakan cara yang ringan dan portabel untuk mengemas dan menjalankan aplikasi dalam kontainer terisolasi. Dengan membundel aplikasi bersama semua dependensi yang diperlukan, sebuah kontainer memastikan perilaku yang konsisten di berbagai mesin, dari laptop hingga server produksi.

TeX Live kuat tetapi besar dan sensitif terhadap perbedaan di tingkat sistem. Mengemas TeX Live di dalam image Docker membuat toolchain LaTeX dapat diprediksi, dapat direproduksi, dan mudah didistribusikan.

Namun, beberapa paket TeX Live mengandalkan akses shell. Demi keamanan, kontainer harus berjalan di lingkungan terbatas yang mencegah pengguna mengeksekusi perintah shell sembarang (misalnya melalui `\write18` atau shell escape). Isolasi ini melindungi sistem host dan menghindari akses yang tidak disengaja ke filesystem dasar kontainer atau alat seperti `bash`.

### TeXLive Full Edition

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) adalah **image Docker TeXLive** yang dirancang khusus untuk Overleaf Server Pro, Overleaf Pro, dan juga lingkungan kompilasi LaTeX mandiri, seperti CI atau pipeline.

Image ini bertujuan menyediakan distribusi TeXLive yang hampir lengkap dengan font dan alat umum yang sudah terpasang, untuk meminimalkan kegagalan kompilasi yang disebabkan oleh paket atau font yang hilang.

Fitur:

* 🚀 Mendukung arsitektur server x86\_64 dan arm64
* 📦 Instalasi TeXLive lengkap dan dioptimalkan
* 🧩 Font umum dan utilitas yang sudah terpasang
* 🐳 Siap digunakan dengan Docker dan Docker Compose
* 🧪 Telah diuji dengan Overleaf Server Pro / Overleaf Pro
* 🔄 Diperbarui secara berkala dengan rilis TeXLive terbaru
* 🏷 Beberapa tag versi TeXLive (2020 – Terbaru)
* 🧑‍🔬 Dukungan Knitr untuk kode R dalam dokumen LaTeX

### Penggunaan Overleaf Pro

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) dukungan **overleaf pro**, Anda dapat menggunakan variabel lingkungan berikut untuk `config/variables.env` file jika Anda adalah [pengguna toolkit](https://github.com/overleaf/toolkit).

Misalnya:

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

### Versi TeXLive

Berkat GitHub Action, kami dapat membangun semua image tex secara paralel, yang mencakup:

* `ghcr.io/ayaka-notes/texlive-full:2026.1` (Juga `latest` tag)
* `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`

Kami menggunakan arsip mirror dari [info texlive](https://texlive.info/tlnet-archive/), yang mencakup hampir semua image texlive dari 1996 hingga 2026. Dan berkat Dockerfile Overleaf, kami dapat membangun proyek ini lebih cepat.

> Mengapa texlive 2019 dan yang lebih awal tidak didukung?
>
> Memelihara image seperti itu sangat sulit. Dan kami yakin Anda mungkin tidak menggunakannya lagi karena terlalu lama. Jika Anda membutuhkannya, buka issue untuk memberi tahu saya.

### Komponen yang Terkandung

Paket-paket berikut terkandung di dalam image Docker.

* Semua paket TeXLive (pada tahun tersebut)
* Paket R (hanya yang dipilih)
* fontconfig inkscape pandoc python3-pygments wget python3
* gnupg gnuplot perl-modules perl ca-certificates
* ghostscript qpdf r-base-core tar

Font-font berikut terkandung di dalam image Docker.

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

{% hint style="warning" %}
Mohon pastikan apakah font yang relevan dapat digunakan secara komersial. Kami **tidak bertanggung jawab** atas masalah hukum apa pun yang timbul dari penggunaan font yang salah. Setelah Anda mengunduh image, Anda menyetujuinya secara otomatis.
{% endhint %}

### Lisensi

MIT

### Masalah

<details>

<summary>Masalah 01: Masalah Font Cache Miss</summary>

Saat Overleaf mengompilasi proyek LaTeX, jika font tidak ditemukan, **Anda mungkin mendapati proses kompilasi memakan waktu lama**, itu karena ketika font tidak ditemukan, TeXLive akan mencoba untuk **membangun ulang seluruh cache font**. Proses ini memakan waktu.

Di image kami, cache font sudah dibuat sebelumnya, kami memperbaiki masalah ini dengan [commit ini](https://github.com/ayaka-notes/texlive-full/commit/0cb66b0dc8b82be628cf6999cfd659d9784e132f)

</details>

<details>

<summary>Masalah 02: Sync Tex Sangat Lambat</summary>

Saat Anda menggunakan image ini di sharelatex, Anda mungkin mendapati bahwa sinkronisasi tex sangat lambat.

Lihat: <https://github.com/overleaf/overleaf/issues/1150>, cukup nonaktifkan HTTP 2.0.

</details>

<details>

<summary>Masalah 03: Error Re-Compile dengan Image Texlive Resmi</summary>

Jika Anda menggunakan image resmi texlive di Docker Hub `texlive/texlive`, Anda mungkin mendapati bahwa saat Anda mengompilasi ulang proyek, akan muncul error. Namun, di image kami, masalah ini sudah diperbaiki. Karena kami menggunakan image base Ubuntu terbaru dan menginstal semua dependensi dari repo resmi Ubuntu.

</details>

### Pengingat Teknis Lain

Saat membangun image texlive (sebelum 2019), Anda mungkin perlu memperhatikan masalah berikut:

* Hanya `http`/`ftp` didukung sebelum texlive 2017, jadi Anda tidak dapat menggunakan `https` untuk mengunduh, kecuali Anda memodifikasi `peal` skrip.
* Sebelum 2015, hanya file sha256 yang disediakan. Jadi Anda tidak dapat menggunakan sha512 untuk memeriksa.


---

# 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/id/texlive-di-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.
