Renato Rosa renatoxsr

pandoc-extra (latest-debian)

Published 2026-09-22 10:15:13 -03:00 by renatoxsr

Installation

docker pull git.silveirarosa.com/renatoxsr/pandoc-extra:latest-debian
sha256:37bd0aa8e4453df811e29716799074c70b8a706d010b38a5fd46bb9d7609b230

Images

Digest OS / Arch Size
8cf2016a77 linux/amd64 596 MiB

Image Layers ( linux/amd64)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1787529600'
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.11
ENV XDG_DATA_HOME=/usr/local/share
WORKDIR /data
ENTRYPOINT ["/usr/local/bin/pandoc"]
COPY /usr/local/bin/pandoc /usr/local/bin/ # buildkit
RUN /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
RUN /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 set -eux # Install curl apt-get -q --no-allow-insecure-repositories update apt-get install --assume-yes --no-install-recommends --mark-auto curl xz-utils url_base='https://github.com/lierdakil/pandoc-crossref/releases/download'; case "$(uname -m)" in ('x86_64') arch="X64" crossref_hash=7f8b7c5c91233db2dcb1145fa580a9ee8343695589bdb0ece8661490bc12a644 ;; ('aarch64') arch="ARM64" crossref_hash=a5e06fe32cce7f8bccc182ff9d88cfe0c0fc5ff2ac784422388157714ccaaff7 ;; (*) echo >&2 "error: unsupported architecture '$(uname -m)'" exit 1 ;; esac version="v0.3.25a" filename="pandoc-crossref-Linux-${arch}.tar.xz" curl --proto '=https' --tlsv1.3 -sSfL -o /tmp/pandoc-crossref.tar.xz \ "${url_base}/${version}/pandoc-crossref-linux-${arch}.tar.xz" echo "$crossref_hash /tmp/pandoc-crossref.tar.xz" | sha256sum -c tar -xf /tmp/pandoc-crossref.tar.xz -C /usr/local/bin pandoc-crossref # Remove archive rm /tmp/pandoc-crossref.tar.xz # Curl is no longer needed apt-get autoremove --purge --assume-yes; \ 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 pdfcol pgf pgfopts sectsty sourcecodepro sourcesans sourceserif 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.4.0/Eisvogel.tar.gz | tar xz --strip-components=1 --one-top-level=${PANDOC_TEMPLATES_DIR} Eisvogel-3.4.0/eisvogel.latex Eisvogel-3.4.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
RUN /bin/sh -c DEBIAN_FRONTEND=noninteractive apt update && apt install -y git curl wget && pip install --no-cache-dir --break-system-packages mcp-stdio uv git+https://github.com/vivekVells/mcp-pandoc # buildkit
ARG UID=1000 USERNAME=pandoc
RUN |2 UID=1000 USERNAME=pandoc /bin/sh -c groupadd -g ${UID} $USERNAME && useradd -u $UID -g $UID -d /data $USERNAME # buildkit
USER pandoc
WORKDIR /data

Labels

Key Value
com.docker.compose.project agents
com.docker.compose.service pandoc
com.docker.compose.version 5.5.1
maintainer Albert Krewinkel <albert+pandoc@tarleb.com>
org.opencontainers.image.authors Albert Krewinkel <albert+pandoc@tarleb.com>
org.opencontainers.image.description Large pandoc image with many LaTeX extras, including popular fonts and the “Eisvogel” template.
org.opencontainers.image.licenses GPL-2.0-or-later
org.opencontainers.image.source https://github.com/pandoc/dockerfiles
org.opencontainers.image.title pandoc with LaTeX and extras
org.opencontainers.image.url https://github.com/pandoc/dockerfiles
org.opencontainers.image.vendor The pandoc Docker team
org.opencontainers.image.version 3.11
org.pandoc.author John MacFarlane
org.pandoc.maintainer Albert Krewinkel <albert+pandoc@tarleb.com>
org.pandoc.version 3.11
Details
Container
2026-09-22 10:15:13 -03:00
5
OCI / Docker
Versions (1) View all
latest-debian 2026-09-22