Docker
Docker cung cấp một cách nhẹ và di động để đóng gói và chạy ứng dụng trong các container biệt lập. Bằng cách đóng gói ứng dụng cùng với tất cả các phụ thuộc cần thiết, container đảm bảo hành vi nhất quán trên các máy khác nhau, từ laptop đến máy chủ production. TeX Live rất mạnh mẽ nhưng có dung lượng lớn và nhạy cảm với sự khác biệt ở cấp hệ thống. Việc đóng gói TeX Live trong một Docker image giúp bộ công cụ LaTeX trở nên dễ dự đoán, có thể tái tạo và dễ phân phối. Tuy nhiên, một số gói TeX Live phụ thuộc vào quyền truy cập shell. Vì lý do bảo mật, container nên chạy trong một môi trường bị giới hạn, ngăn người dùng thực thi các lệnh shell tùy ý (ví dụ qua\write18 hoặc shell escape). Sự cô lập này bảo vệ hệ thống host và tránh việc truy cập ngoài ý muốn vào hệ thống tệp bên dưới của container hoặc các công cụ như bash.
Phiên bản TeXLive Full
TeXLive-Full@ayaka-notes là một TeXLive Docker image đầy đủ tính năng, được thiết kế cho việc biên dịch LaTeX trong sandbox ở Ayakaleaf Pro, Overleaf CEP, hoặc các môi trường biên dịch LaTeX độc lập. Image này hướng đến việc cung cấp một bản phân phối TeXLive gần như hoàn chỉnh với các phông chữ và công cụ phổ biến được cài sẵn, nhằm giảm thiểu lỗi biên dịch do thiếu gói hoặc phông chữ. Lưu ý: Docker Image này không chứa bất kỳ thành phần sharelatex/overleaf nào. Nó được dùng cho việc biên dịch của Overleaf/Overleaf Pro.Tính năng:
- 🚀 Hỗ trợ cả kiến trúc máy chủ x86_64 và arm64
- 📦 Bản cài đặt TeXLive đầy đủ và được tối ưu
- 🧩 Cài sẵn các phông chữ và tiện ích phổ biến
- 🐳 Sẵn sàng sử dụng với Docker và Docker Compose
- 🧪 Đã được kiểm thử với Overleaf Server Pro / Overleaf Pro
- 🔄 Cập nhật thường xuyên theo các bản phát hành TeXLive mới nhất
- 🏷 Nhiều tag phiên bản TeXLive (2020 – mới nhất)
- 🧑🔬 Hỗ trợ Knitr cho mã R trong tài liệu LaTeX
Sử dụng với Ayakaleaf Pro
TeX Live Full của Ayaka-notes được thiết kế đặc biệt cho ayakaleaf-pro; bạn có thể thêm các biến môi trường sau vào tệpconfig/variables.env nếu bạn là người dùng toolkit.
Ví dụ:
config/variables.env
Phiên bản TeX Live
Nhờ GitHub Action, chúng tôi có thể build song song tất cả các image TeX, bao gồm:ghcr.io/ayaka-notes/texlive-full:2026.1(cũng là taglatest)ghcr.io/ayaka-notes/texlive-full:2025.1ghcr.io/ayaka-notes/texlive-full:2024.1ghcr.io/ayaka-notes/texlive-full:2023.1ghcr.io/ayaka-notes/texlive-full:2022.1ghcr.io/ayaka-notes/texlive-full:2021.1ghcr.io/ayaka-notes/texlive-full:2020.1ghcr.io/ayaka-notes/texlive-full:base
Tại sao TeX Live 2019 trở về trước không được hỗ trợ? Việc duy trì các image cũ này cực kỳ khó khăn. Ngoài ra, trang web texlive.info không cung cấp thông tin cho các phiên bản TeX Live phát hành trước 2019, vì vậy chúng tôi không thể build image cho các phiên bản đó. Nếu bạn cần một phiên bản cũ cụ thể, hãy mở issue và cho chúng tôi biết.
Thành phần đi kèm
Các gói sau có trong Docker image.- Tất cả các gói TeXLive (của năm đó)
- Các gói R (chỉ một số được chọn)
- fontconfig inkscape pandoc python3-pygments wget python3
- gnupg gnuplot perl-modules perl ca-certificates
- ghostscript qpdf r-base-core tar
Giấy phép
MITSự cố
Sự cố 01: Thiếu phông chữ trong bộ nhớ đệm
Sự cố 01: Thiếu phông chữ trong bộ nhớ đệm
Khi Overleaf biên dịch dự án LaTeX, nếu xảy ra tình trạng thiếu phông chữ, bạn có thể thấy quá trình biên dịch mất rất nhiều thời gian, vì khi thiếu một phông chữ, TeX Live sẽ cố gắng build lại toàn bộ bộ nhớ đệm phông chữ. Đây là một quá trình tốn thời gian.Trong image của chúng tôi, bộ nhớ đệm phông chữ đã được build sẵn; chúng tôi khắc phục vấn đề này bằng commit này
Sự cố 02: SyncTeX cực kỳ chậm
Sự cố 02: SyncTeX cực kỳ chậm
Khi sử dụng image này trong sharelatex, bạn có thể thấy SyncTeX cực kỳ chậm.Xem: https://github.com/overleaf/overleaf/issues/1150, chỉ cần tắt HTTP 2.0.
Sự cố 03: Lỗi khi biên dịch lại với image TeX Live chính thức
Sự cố 03: Lỗi khi biên dịch lại với image TeX Live chính thức
Nếu bạn dùng image TeX Live chính thức trên Docker Hub
texlive/texlive, bạn có thể thấy khi biên dịch lại một dự án, nó sẽ báo lỗi. Tuy nhiên, trong image của chúng tôi, vấn đề này đã được khắc phục, vì chúng tôi sử dụng base image Ubuntu mới nhất và cài đặt tất cả các phụ thuộc từ kho chính thức của Ubuntu.Lưu ý kỹ thuật khác
Khi build image TeX Live (trước 2019), bạn có thể cần chú ý đến các vấn đề sau:- Trước TeX Live 2017 chỉ hỗ trợ
http/ftp, vì vậy bạn không thể dùnghttpsđể tải xuống, trừ khi chỉnh sửa scriptpeal. - Trước 2015, chỉ có tệp sha256 được cung cấp, vì vậy bạn không thể dùng sha512 để kiểm tra.

