| 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"] |
| ARG pandoc_version=edge |
| LABEL maintainer=Albert Krewinkel <albert+pandoc@tarleb.com> |
| LABEL org.pandoc.maintainer=Albert Krewinkel <albert+pandoc@tarleb.com> |
| LABEL org.pandoc.author=John MacFarlane |
| LABEL org.pandoc.version=3.7.0.2 |
| ENV XDG_DATA_HOME=/usr/local/share |
| WORKDIR /data |
| ENTRYPOINT ["/usr/local/bin/pandoc"] |
| COPY /usr/local/bin/pandoc /usr/local/bin/ # buildkit |
| RUN |1 pandoc_version=edge /bin/sh -c ln -s /usr/local/bin/pandoc /usr/local/bin/pandoc-lua && ln -s /usr/local/bin/pandoc /usr/local/bin/pandoc-server && apt-get -q --no-allow-insecure-repositories update && DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --no-install-recommends ca-certificates=\* liblua5.4-0=\* libatomic1=\* libgmp10=\* libpcre3=\* libyaml-0-2=\* zlib1g=\* && rm -rf /var/lib/apt/lists/* && mkdir -p "$XDG_DATA_HOME"/pandoc # buildkit |
| COPY /usr/local/bin/pandoc-crossref /usr/local/bin/ # buildkit |
| RUN |1 pandoc_version=edge /bin/sh -c apt-get -q --no-allow-insecure-repositories update && DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --no-install-recommends librsvg2-bin=2.* && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c apt-get -q --no-allow-insecure-repositories update && DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --no-install-recommends fontconfig gnupg gzip libfontconfig1 libfreetype6 perl tar wget xzdec && rm -rf /var/lib/apt/lists/* # buildkit |
| COPY <<EOF /root/texlive.profile # buildkit |
| ARG texlive_bin=/opt/texlive/texdir/bin |
| ARG texlive_mirror_url= |
| ENV PATH=/opt/texlive/texdir/bin/default:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN |2 texlive_bin=/opt/texlive/texdir/bin texlive_mirror_url= /bin/sh -c set -eux
cd /root
TEXLIVE_ARCH="$(uname -m)-$(uname -s | tr '[:upper:]' '[:lower:]')"; \
mkdir -p ${texlive_bin}
ln -sf "${texlive_bin}/${TEXLIVE_ARCH}" "${texlive_bin}/default"
# Request musl precompiled binary access
echo "binary_${TEXLIVE_ARCH} 1" >> /root/texlive.profile
# Install TeXLive
mirror_url="${texlive_mirror_url}"
if [ -z "${mirror_url}" ]; then
# Get the mirror URL from the redirect. Otherwise, if we were to
# always use the mirror URL, we'd run into problems whenever we get
# installer and signatures from different mirrors that are not 100%
# in sync.
mirror_url=$(wget -4 --quiet --output-document=/dev/null \
--server-response \
http://mirror.ctan.org/ \
2>&1 | \
sed -ne 's/.*Location: \(.*\)$/\1/p' | head -n 1)
fi
# Trim trailing slash(es)
mirror_url=$(echo "$mirror_url" | sed -e 's/\/*$//')
installer_url="${mirror_url}/systems/texlive/tlnet"
# Download the install-tl perl script. The archive integrity and signature is
# verified later, so it's ok if we use an insecure connection.
wget -4 --no-verbose --no-check-certificate \
"$installer_url/install-tl-unx.tar.gz" \
"$installer_url/install-tl-unx.tar.gz".sha512 \
"$installer_url/install-tl-unx.tar.gz".sha512.asc \
## Verifiy installer integrity
# get current signing key
gpg --keyserver keyserver.ubuntu.com \
--receive-key 0xC78B82D8C79512F79CC0D7C80D5E5D9106BAB6BC || exit 5
gpg --verify install-tl-unx.tar.gz.sha512.asc || exit 5
sha512sum install-tl-unx.tar.gz.sha512 || exit 5
## Proceed with installation
# Extract installer
mkdir -p ./install-tl
tar --strip-components 1 -zvxf install-tl-unx.tar.gz -C "$PWD/install-tl"
# Run the default installation with the specified profile.
./install-tl/install-tl \
-repository "${installer_url}" \
--profile=/root/texlive.profile
# Cleanup installation artifacts.
rm -rf \
./install-tl \
install-tl-unx.tar.gz \
install-tl-unx.tar.gz.sha512 \
install-tl-unx.tar.gz.sha512.asc
# Install packages required by pandoc
tlmgr install \
--verify-repo=all \
amsfonts \
amsmath \
babel \
babel-basque \
babel-czech \
babel-danish \
babel-dutch \
babel-english \
babel-finnish \
babel-french \
babel-german \
babel-hungarian \
babel-italian \
babel-norsk \
babel-polish \
babel-portuges \
babel-spanish \
babel-swedish \
beamer \
biber \
biblatex \
bibtex \
bidi \
bidi \
bookmark \
booktabs \
caption \
cleveref \
csquotes \
euler \
eurosym \
fancyvrb \
float \
fontspec \
footnotehyper \
framed \
geometry \
graphics \
hyperref \
hyphen-basque \
hyphen-czech \
hyphen-danish \
hyphen-dutch \
hyphen-english \
hyphen-finnish \
hyphen-french \
hyphen-german \
hyphen-hungarian \
hyphen-italian \
hyphen-norwegian \
hyphen-polish \
hyphen-portuguese \
hyphen-spanish \
hyphen-swedish \
ifmtarg \
iftex \
latexmk \
listings \
lm \
lm-math \
lua-ul \
luacode \
luacolor \
lualatex-math \
luatexbase \
mathspec \
memoir \
microtype \
multirow \
natbib \
parskip \
pgf \
selnolig \
setspace \
soul \
subfig \
tools \
unicode-math \
upquote \
xcolor \
xetex \
xurl
# Reset to the default CTAN mirror, unless a specific mirror had been
# requested.
if [ -z "${texlive_mirror_url}" ]; then
tlmgr option repository ctan
fi
rm -f /root/texlive.profile
# Update fonts
TERM=dumb luaotfload-tool --update && \
chmod -R o+w /opt/texlive/texdir/texmf-var
# buildkit |
| WORKDIR /data |
| COPY /uv /uvx /bin/ # buildkit |
| ENV UV_TOOL_BIN_DIR=/usr/local/bin/ |
| ENV UV_TOOL_DIR=/usr/local/share/uv/tools |
| RUN /bin/sh -c apt-get -q --no-allow-insecure-repositories update && apt-get install --assume-yes --no-install-recommends python3-pip && uv tool install 'pandoc-codeblock-include==1.1.*' && uv tool install 'pandoc-latex-environment==1.2.*' && uv tool install 'pandoc-include==1.4.*' # buildkit |
| RUN /bin/sh -c tlmgr install abstract adjustbox awesomebox babel-german background beamertheme-metropolis bidi catchfile cm-super collectbox csquotes draftwatermark enumitem environ environ etoolbox everypage filehook fontawesome5 footmisc footnotebackref framed fvextra hardwrap incgraph koma-script letltxmacro lineno listingsutf8 ly1 mdframed mweights needspace pagecolor pgf pgfopts sectsty sourcecodepro sourcesanspro sourceserifpro tcolorbox tcolorbox tikzfill titlesec titling transparent trimspaces ucharcat ulem unicode-math upquote xecjk xltxtra xurl zref # buildkit |
| ENV PANDOC_DATA_HOME=/usr/local/share/pandoc |
| ENV PANDOC_TEMPLATES_DIR=/usr/local/share/pandoc/templates |
| RUN /bin/sh -c mkdir -p ${PANDOC_TEMPLATES_DIR} # buildkit |
| ARG EISVOGEL_REPO=https://github.com/Wandmalfarbe/pandoc-latex-template/releases/download |
| RUN |1 EISVOGEL_REPO=https://github.com/Wandmalfarbe/pandoc-latex-template/releases/download /bin/sh -c wget -qO- ${EISVOGEL_REPO}/v3.2.0/Eisvogel.tar.gz | tar xz --strip-components=1 --one-top-level=${PANDOC_TEMPLATES_DIR} Eisvogel-3.2.0/eisvogel.latex Eisvogel-3.2.0/eisvogel.beamer # buildkit |
| ARG LUA_FILTERS_REPO=https://github.com/pandoc/lua-filters/releases/download |
| ARG LUA_FILTERS_VERSION=2021-11-05 |
| RUN |3 EISVOGEL_REPO=https://github.com/Wandmalfarbe/pandoc-latex-template/releases/download LUA_FILTERS_REPO=https://github.com/pandoc/lua-filters/releases/download LUA_FILTERS_VERSION=2021-11-05 /bin/sh -c wget -qO- ${LUA_FILTERS_REPO}/v${LUA_FILTERS_VERSION}/lua-filters.tar.gz | tar xz --strip-components=1 --one-top-level=${PANDOC_DATA_HOME} # buildkit |
| ARG TARGETARCH=amd64 |
| ARG TECTONIC_REPO=https://github.com/tectonic-typesetting/tectonic/releases/download |
| ARG TECTONIC_VERSION=0.15.0 |
| RUN |6 EISVOGEL_REPO=https://github.com/Wandmalfarbe/pandoc-latex-template/releases/download LUA_FILTERS_REPO=https://github.com/pandoc/lua-filters/releases/download LUA_FILTERS_VERSION=2021-11-05 TARGETARCH=amd64 TECTONIC_REPO=https://github.com/tectonic-typesetting/tectonic/releases/download TECTONIC_VERSION=0.15.0 /bin/sh -c set -ex;
case "$TARGETARCH" in
(amd64)
TECTONIC_ARCH='x86_64';
TECTONIC_CLIB='gnu';
;;
(arm64)
TECTONIC_ARCH='aarch64' ;
TECTONIC_CLIB='musl';
;;
(*)
printf 'unsupported target arch for tectonic: %s\n' "$TARGETARCH";
exit 1 ;
;;
esac
TECTONIC_TARBALL_FMT='tectonic-%s-%s-unknown-linux-%s.tar.gz'
TECTONIC_TARBALL="$(printf "$TECTONIC_TARBALL_FMT" \
"${TECTONIC_VERSION}" "${TECTONIC_ARCH}" "${TECTONIC_CLIB}" \
)"
wget ${TECTONIC_REPO}/tectonic%40${TECTONIC_VERSION}/${TECTONIC_TARBALL}
tar xzf ${TECTONIC_TARBALL} -C /usr/local/bin/
rm -f ${TECTONIC_TARBALL}
# buildkit |
| /bin/sh -c set -ex; deluser --remove-home ubuntu; apt-get update; apt-get install --no-install-recommends --yes ghostscript inotify-tools make patch ; rm -rf /var/lib/apt/lists/*; tlmgr update --self; tlmgr install kpfonts lastpage latexmk twemojis ; |
| COPY dir:b76ca01c995497c22b0b7c9e3ea2299a85379881475cb81fbce5993b67c85bcd in /usr |
| /bin/sh -c set -ex; cp /usr/share/ghostscript/10.02.1/lib/PDFA_def.ps /usr/local/share/autodoc/; patch -d /usr/local/share/autodoc < /usr/local/share/autodoc/PDFA_def.ps.patch; rm /usr/local/share/autodoc/PDFA_def.ps.patch; |
| WORKDIR /docs |
| ENTRYPOINT ["autodoc"] |
| CMD ["-bw"] |
| ENV PUPPETEER_CACHE_DIR=/usr/local/share/puppeteer/cache |
| COPY file:7a14411b1e55ffdf70a5eda605584919544c06e3f6e6186e4bbbc0a7e5f2fe69 in /usr/local/src/autodoc/diagram.lua.patch |
| /bin/sh -c set -ex; apt-get update; apt-get install --no-install-recommends --yes libasound2t64 libatk1.0-0t64 libatk-bridge2.0-0t64 libgbm1 libnss3 libxcomposite1 libxdamage1 libxfixes3 libxkbcommon0 libxrandr2 npm ; rm -rf /var/lib/apt/lists/*; npm install --global @mermaid-js/mermaid-cli; wget --output-document='/usr/local/share/pandoc/filters/diagram.lua' 'https://raw.githubusercontent.com/pandoc-ext/diagram/refs/heads/main/_extensions/diagram/diagram.lua' ; patch /usr/local/share/pandoc/filters/diagram.lua < /usr/local/src/autodoc/diagram.lua.patch; rm /usr/local/src/autodoc/diagram.lua.patch; |
| LABEL org.opencontainers.image.created=2025-10-05T00:07:44Z |
| LABEL org.opencontainers.image.revision=0612070b663847b050c75dfddc7bd42553ead8af |
| LABEL org.opencontainers.image.source=https://github.com/ldericher/autodoc.git |
| LABEL org.opencontainers.image.url=https://github.com/ldericher/autodoc |
| COPY --chown=root:root deploy/texoffice /opt/texlive/texdir/texmf-dist/tex/latex/texoffice # buildkit |
| COPY --chown=root:root src/lenaisten /opt/lenaisten # buildkit |
| COPY --chown=root:root src/lev-protokoll.latex src/lev-dokument.latex /usr/local/share/pandoc/templates # buildkit |
| RUN /bin/sh -c set -ex; /opt/texlive/texdir/bin/default/texconfig rehash; # buildkit |