> 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/el/texlive-sto-docker.md).

# TeXLive στο Docker

### Docker

Το Docker παρέχει έναν ελαφρύ και φορητό τρόπο για τη συσκευασία και εκτέλεση εφαρμογών σε απομονωμένα κοντέινερ. Συνδυάζοντας την εφαρμογή μαζί με όλες τις απαιτούμενες εξαρτήσεις, ένα κοντέινερ διασφαλίζει συνεπή συμπεριφορά σε διαφορετικά μηχανήματα, από φορητούς υπολογιστές έως διακομιστές παραγωγής.

Το TeX Live είναι ισχυρό αλλά μεγάλο και ευαίσθητο σε διαφορές σε επίπεδο συστήματος. Η συσκευασία του TeX Live μέσα σε μια εικόνα Docker καθιστά την αλυσίδα εργαλείων LaTeX προβλέψιμη, αναπαραγώγιμη και εύκολη στη διανομή.

Ωστόσο, ορισμένα πακέτα TeX Live βασίζονται σε πρόσβαση στο shell. Για λόγους ασφαλείας, το κοντέινερ πρέπει να εκτελείται σε περιορισμένο περιβάλλον που αποτρέπει τους χρήστες από το να εκτελούν αυθαίρετες εντολές shell (για παράδειγμα μέσω `\write18` ή shell escape). Αυτή η απομόνωση προστατεύει το σύστημα-ξενιστή και αποφεύγει την ακούσια πρόσβαση στο υποκείμενο σύστημα αρχείων του κοντέινερ ή σε εργαλεία όπως `bash`.

### Πλήρης Έκδοση TeXLive

[TeXLive-Full@ayaka-notes](https://github.com/ayaka-notes/texlive-full/) είναι μια πλήρως εξοπλισμένη **εικόνα Docker TeXLive** σχεδιασμένη ειδικά για το Overleaf Server Pro, το Overleaf Pro, καθώς και για αυτόνομα περιβάλλοντα μεταγλώττισης LaTeX, όπως CI ή pipelines.

Αυτή η εικόνα στοχεύει να παρέχει μια σχεδόν πλήρη διανομή TeXLive με κοινές γραμματοσειρές και εργαλεία προεγκατεστημένα, ώστε να ελαχιστοποιηθούν οι αποτυχίες μεταγλώττισης που προκαλούνται από ελλείποντα πακέτα ή γραμματοσειρές.

Χαρακτηριστικά:

* 🚀 Υποστήριξη και των αρχιτεκτονικών διακομιστών x86\_64 και arm64
* 📦 Πλήρης και βελτιστοποιημένη εγκατάσταση TeXLive
* 🧩 Προεγκατεστημένες κοινές γραμματοσειρές και βοηθητικά εργαλεία
* 🐳 Έτοιμο για χρήση με Docker και Docker Compose
* 🧪 Δοκιμασμένο με Overleaf Server Pro / Overleaf Pro
* 🔄 Τακτικές ενημερώσεις με τις πιο πρόσφατες εκδόσεις TeXLive
* 🏷 Πολλαπλές ετικέτες έκδοσης TeXLive (2020 – latest)
* 🧑‍🔬 Υποστήριξη 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 Action, μπορούμε να δημιουργήσουμε όλες τις εικόνες 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`

Χρησιμοποιούμε αρχείο mirror από το [πληροφορίες 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: Πρόβλημα έλλειψης cache γραμματοσειρών</summary>

Όταν το overleaf μεταγλωττίζει ένα έργο latex, αν παρουσιαστεί έλλειψη γραμματοσειράς, **μπορεί να διαπιστώσετε ότι η διαδικασία μεταγλώττισης διαρκεί πολύ**, επειδή όταν λείπει μια γραμματοσειρά, το texlive θα προσπαθήσει να **αναδημιουργήσει ολόκληρη την cache γραμματοσειρών**. Αυτή είναι μια χρονοβόρα διαδικασία.

Στην εικόνα μας, έχουμε προδημιουργήσει την cache γραμματοσειρών, και διορθώνουμε αυτό το πρόβλημα με [αυτό το commit](https://github.com/ayaka-notes/texlive-full/commit/0cb66b0dc8b82be628cf6999cfd659d9784e132f)

</details>

<details>

<summary>Πρόβλημα 02: Το Sync TeX είναι εξαιρετικά αργό</summary>

Όταν χρησιμοποιείτε αυτή την εικόνα στο sharelatex, μπορεί να διαπιστώσετε ότι το sync 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/el/texlive-sto-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.
