ARG RELEASE |
ARG LAUNCHPAD_BUILD_ARCH |
LABEL org.opencontainers.image.ref.name=ubuntu |
LABEL org.opencontainers.image.version=24.04 |
ADD file:b4619a63cd7829e1338ddaa4995ca17003002dd54b0dfd675a6f54a2b69151a6 in / |
CMD ["/bin/bash"] |
LABEL Description=Dockerized MiKTeX, Ubuntu 24.04 |
LABEL Vendor=M. Passarello |
ARG DEBIAN_FRONTEND=noninteractive |
ARG user=miktex |
ARG group=miktex |
ARG uid=1000 |
ARG gid=1000 |
ARG miktex_home=/var/lib/miktex |
ARG miktex_work=/miktex/work |
RUN |7 DEBIAN_FRONTEND=noninteractive user=miktex group=miktex uid=1000 gid=1000 miktex_home=/var/lib/miktex miktex_work=/miktex/work /bin/sh -c existing_user=$(getent passwd ${uid} | cut -d: -f1) && if [ -n "$existing_user" ]; then echo "Removing existing user $existing_user with UID ${uid}"; userdel -r "$existing_user" || true; fi && existing_group=$(getent group ${gid} | cut -d: -f1) && if [ -n "$existing_group" ]; then echo "Removing existing group $existing_group with GID ${gid}"; groupdel "$existing_group" || true; fi && groupadd -g ${gid} ${group} && useradd -d "${miktex_home}" -u ${uid} -g ${gid} -m -s /bin/bash ${user} # buildkit |
RUN |7 DEBIAN_FRONTEND=noninteractive user=miktex group=miktex uid=1000 gid=1000 miktex_home=/var/lib/miktex miktex_work=/miktex/work /bin/sh -c apt-get update && apt-get install -y --no-install-recommends apt-transport-https ca-certificates curl dirmngr ghostscript gnupg gosu perl sudo # buildkit |
RUN |7 DEBIAN_FRONTEND=noninteractive user=miktex group=miktex uid=1000 gid=1000 miktex_home=/var/lib/miktex miktex_work=/miktex/work /bin/sh -c curl -fsSL https://miktex.org/download/key | gpg --dearmor -o /usr/share/keyrings/miktex.gpg && echo "deb [signed-by=/usr/share/keyrings/miktex.gpg] https://miktex.org/download/ubuntu noble universe" | tee /etc/apt/sources.list.d/miktex.list # buildkit |
RUN |7 DEBIAN_FRONTEND=noninteractive user=miktex group=miktex uid=1000 gid=1000 miktex_home=/var/lib/miktex miktex_work=/miktex/work /bin/sh -c apt-get update -y && apt-get install -y --no-install-recommends miktex # buildkit |
USER miktex |
RUN |7 DEBIAN_FRONTEND=noninteractive user=miktex group=miktex uid=1000 gid=1000 miktex_home=/var/lib/miktex miktex_work=/miktex/work /bin/sh -c miktexsetup finish && initexmf --set-config-value=[MPM]AutoInstall=1 && miktex packages update && miktex packages install amsfonts carlito # buildkit |
RUN |7 DEBIAN_FRONTEND=noninteractive user=miktex group=miktex uid=1000 gid=1000 miktex_home=/var/lib/miktex miktex_work=/miktex/work /bin/sh -c mpm --package-level=basic --upgrade # buildkit |
VOLUME [/var/lib/miktex] |
WORKDIR /miktex/work |
USER root |
COPY entrypoint.sh / # buildkit |
ENTRYPOINT ["/entrypoint.sh"] |
ENV PATH=/var/lib/miktex/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
CMD ["bash"] |
LABEL maintainer=0xMax42 <Mail@0xMax42.io> description=LaTeX mit TeX Live (tlmgr), Pandoc und PDF/A-Unterstützung |
ARG user=miktex |
ENV LANG=de_DE.UTF-8 LC_ALL=de_DE.UTF-8 DEBIAN_FRONTEND=noninteractive |
RUN |1 user=miktex /bin/sh -c apt-get update && apt-get install -y --no-install-recommends perl wget curl gnupg xz-utils unzip fontconfig locales lua5.4 make ca-certificates && echo "de_DE.UTF-8 UTF-8" > /etc/locale.gen && locale-gen # buildkit |
RUN |1 user=miktex /bin/sh -c set -eux; ARCH=amd64; URL=$(curl -s https://api.github.com/repos/jgm/pandoc/releases/latest | grep "browser_download_url" | grep "${ARCH}.deb" | cut -d '"' -f 4); curl -L "$URL" -o pandoc.deb; apt-get install -y ./pandoc.deb; rm pandoc.deb # buildkit |
RUN |1 user=miktex /bin/sh -c set -eux; ARCH=X64; URL=$(curl -s https://api.github.com/repos/lierdakil/pandoc-crossref/releases/latest | grep "browser_download_url" | grep "pandoc-crossref-Linux-${ARCH}.tar.xz" | cut -d '"' -f 4); curl -L "$URL" | tar xJf - pandoc-crossref; mv pandoc-crossref /usr/local/bin/; chmod +x /usr/local/bin/pandoc-crossref # buildkit |
RUN |1 user=miktex /bin/sh -c mkdir -p /var/lib/miktex/.pandoc/filters /var/lib/miktex/.pandoc/templates # buildkit |
COPY filter /var/lib/miktex/.pandoc/filters # buildkit |
COPY letter.latex article.latex /var/lib/miktex/.pandoc/templates/ # buildkit |
RUN |1 user=miktex /bin/sh -c apt-get update && apt-get install -y --no-install-recommends python3 python3-venv python3-pip && rm -rf /var/lib/apt/lists/* # buildkit |
RUN |1 user=miktex /bin/sh -c python3 -m venv /home/maxp/.venvs/pandoc_env && /home/maxp/.venvs/pandoc_env/bin/pip install --upgrade pip && /home/maxp/.venvs/pandoc_env/bin/pip install panflute shyaml # buildkit |
USER miktex |
COPY docker/tex-packages.txt /tmp/tex-packages.txt # buildkit |
COPY docker/install-tex-packages.sh /tmp/install-tex-packages.sh # buildkit |
RUN |1 user=miktex /bin/sh -c /tmp/install-tex-packages.sh # buildkit |
RUN |1 user=miktex /bin/sh -c cat > /tmp/init.tex <<'EOF' && lualatex -interaction=nonstopmode /tmp/init.tex && rm -f /tmp/init.*
\documentclass{article}
\begin{document}
Init
\end{document}
EOF # buildkit |
RUN |1 user=miktex /bin/sh -c luaotfload-tool -u || true # buildkit |
COPY scripts/mdtopdf.sh /tmp/mdtopdf # buildkit |
COPY article.md /tmp/article.md # buildkit |
RUN |1 user=miktex /bin/sh -c /tmp/mdtopdf /tmp/article.md # buildkit |
USER root |
RUN |1 user=miktex /bin/sh -c rm -f /tmp/article.md /tmp/article.pdf /tmp/mdtopdf # buildkit |
WORKDIR /data |
CMD ["bash"] |