diff --git a/server-ce/Dockerfile-base b/server-ce/Dockerfile-base index 7fa917713a..1ab78d93cd 100644 --- a/server-ce/Dockerfile-base +++ b/server-ce/Dockerfile-base @@ -72,21 +72,31 @@ RUN mkdir -p /opt/quarto-extensions \ # Install TeX Live (for compiling .tex projects with latexmk) # ----------------------------------------------------------------------- # Verso compiles .qmd with Quarto and .tex with latexmk; both engines live -# side by side. We install (almost) all of texlive-full, excluding the -doc -# and -lang- packages to keep the download from being needlessly huge while -# still providing a complete LaTeX toolchain (latexmk, xetex, lualatex, -# biber, texcount, chktex, synctex, etc.). +# side by side. Rather than (almost) all of texlive-full — which pulls in +# every CTAN package and takes ~20 min to build — we install a curated set +# of meta-packages covering the vast majority of real documents: the latex +# base/recommended/extra collections, recommended fonts, science/math +# packages, both alternative engines (xetex, luatex), and bibliography +# tooling. This is a few GB smaller and noticeably faster to build. +# +# If a document needs a package not included here, add the relevant +# texlive-* collection below (e.g. texlive-fonts-extra, texlive-publishers, +# texlive-humanities) and rebuild. We deliberately omit inkscape, whose GTK +# GUI dependency tree is large and only needed for auto SVG->PDF conversion. # ----------------------------------------------------------------------- RUN apt-get update \ -&& apt-cache depends texlive-full \ - | grep "Depends: " \ - | grep -v -- "-doc" \ - | grep -v -- "-lang-" \ - | sed 's/Depends: //' \ - | xargs apt-get install -y --no-install-recommends \ && apt-get install -y --no-install-recommends \ - texlive-xetex texlive-luatex texlive-bibtex-extra biber \ - texlive-extra-utils latexmk chktex fontconfig inkscape python3-pygments \ + texlive-latex-base \ + texlive-latex-recommended \ + texlive-latex-extra \ + texlive-fonts-recommended \ + texlive-plain-generic \ + texlive-science \ + texlive-xetex \ + texlive-luatex \ + texlive-bibtex-extra \ + texlive-extra-utils \ + latexmk biber chktex fontconfig python3-pygments \ && rm -rf /var/lib/apt/lists/*