39 lines
1.3 KiB
Docker
Executable File
39 lines
1.3 KiB
Docker
Executable File
# 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"]
|