# syntax=docker/dockerfile:1 FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive \ PYTHONUNBUFFERED=1 \ LC_ALL=C.UTF-8 \ LANG=C.UTF-8 \ TINYTEX_DIR=/opt/TinyTeX \ PATH=/opt/TinyTeX/bin/x86_64-linux:$PATH # Tools that the TinyTeX installer uses (wget, tar, xz) + our stack RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ curl wget tar xz-utils \ git make \ emacs-nox \ python3 python3-pip python3-matplotlib \ perl \ && rm -rf /var/lib/apt/lists/* # Install TinyTeX *into /opt/TinyTeX* and set up tlmgr on PATH # (we call tlmgr via its absolute path once, then rely on the symlinks it creates) RUN curl -fsSL https://yihui.org/tinytex/install-unx.sh \ | TINYTEX_DIR="$TINYTEX_DIR" sh -s - --admin --no-path \ && "$TINYTEX_DIR"/bin/*/tlmgr path add \ && "$TINYTEX_DIR"/bin/*/tlmgr option repository http://mirror.ctan.org/systems/texlive/tlnet \ && "$TINYTEX_DIR"/bin/*/tlmgr update --self \ && "$TINYTEX_DIR"/bin/*/tlmgr install \ latexmk biber latex-bin biblatex hyperref geometry microtype etoolbox enumitem \ xcolor listings ieeetran acmart elsarticle \ && fmtutil-sys --all # Non-root user (maps nicer to host file perms) RUN useradd -m -s /bin/bash builder || true WORKDIR /work USER builder CMD ["bash", "-lc", "make VENUE=arxiv"]