I am trying to create a Docker image with texlive which is not >4G heavy like docker.io/texlive/texlive
. Installing e.g. from Debian sources won't build, because once you want to add certain packages (e.g. tlmgr install cleveref
) right now it only says:
tlmgr: Local TeX Live (2020) is older than remote repository (2021).
because CTAN mirrors have updated to 2021, but Debian has not.
So I am trying to install the recommended way using install-tl-unx.tar.gz
, but this also keeps failing because no CTAN mirror can be reached. Here is a minimum example of the Dockerfile:
FROM alpine:latest
RUN apk add perl
RUN wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz; \
tar -xzf install-tl-unx.tar.gz;
RUN cd install-tl-* ; \
perl ./install-tl
It fails stating that it cannot contact mirror.ctan.org, even though a second before it downloaded the installer from the very same site:
query_ctan_mirror: Programs not set up, trying wget
Loading http://www.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb
cannot contact mirror.ctan.org, returning a backbone server!
./install-tl: TLPDB::from_file could not initialize from: http://www.ctan.org/tex-archive/systems/texlive/tlnet/tlpkg/texlive.tlpdb
./install-tl: Maybe the repository setting should be changed.
./install-tl: More info: https://tug.org/texlive/acquire.html
We can even force using that server and also force HTTPS with the --location
argument:
RUN cd install-tl-*; \
perl ./install-tl --location https://mirror.ctan.org/systems/texlive/tlnet
Still the same, the server cannot be reached. I also tried other mirrors, which I tested to be available in my browser, none worked.
So I wonder what I need to do to have that installation run reliably, so that this can run inside a CI job.
perl ./install.sh
rather than justsource ./install.sh
?perl
in the docstexlive.tlpdb
fails, see pastebin.com/a3viMFUXtlmgr
, the solution I proposed is to not usetlmgr
for anything, but instead install a few smalltexlive-xyz
packages from Debian, which would leave you with a 2020 TeX Live but that is fine for most purposes and is much less than 4GB - and most importantly it is very easy to install in Docker. In this scenario, if you want an extra package, you locate the appropriate Debian package that contains that LaTeX package, and you install that withapt
or similar.