autodoc/Dockerfile.ubuntu

64 lines
1.6 KiB
Docker

FROM pandoc/extra:latest-ubuntu AS stage-base
RUN 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 src/usr /usr
RUN 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"]
FROM stage-base AS stage-diagram
ENV PUPPETEER_CACHE_DIR="/usr/local/share/puppeteer/cache"
COPY src/diagram.lua.patch /usr/local/src/autodoc/diagram.lua.patch
RUN 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;