Files
hassio-addons/bentopdf/Dockerfile
2026-09-04 08:20:12 +02:00

46 lines
1.6 KiB
Docker

# Global build args — must be declared before the first FROM to be usable in FROM instructions
ARG BUILD_FROM=ghcr.io/home-assistant/amd64-base:3.23
ARG BUILD_VERSION=2.8.8
# Upstream BentoPDF release to fetch. Tracked separately from BUILD_VERSION so
# the add-on can carry a local patch counter (e.g. 2.8.8.1) without breaking the
# release URLs, which only exist for real upstream tags.
ARG BUILD_UPSTREAM=2.8.8
# Stage 1: Download and extract the BentoPDF Simple Mode dist release (includes
# bundled WASM). Simple Mode drops the bentopdf.com marketing UI and keeps every
# PDF tool, so it is the only build shipped here.
FROM alpine:3.21 AS dist
ARG BUILD_UPSTREAM
# hadolint ignore=DL3018
RUN apk add --no-cache curl unzip \
&& curl -fsSL "https://github.com/alam00000/bentopdf/releases/download/v${BUILD_UPSTREAM}/dist-simple-${BUILD_UPSTREAM}.zip" \
-o /tmp/bentopdf.zip \
&& unzip /tmp/bentopdf.zip -d /tmp/dist
# Stage 2: Final runtime image
FROM ${BUILD_FROM}
ARG BUILD_VERSION
# hadolint ignore=DL3018
RUN apk add --no-cache nginx openssl bash \
&& sed -i 's/nginx:x:100:101/nginx:x:0:0/' /etc/passwd \
&& sed -i 's/^nginx:x:101:/nginx:x:0:/' /etc/group
COPY --from=dist /tmp/dist/ /usr/share/nginx/html/
COPY run.sh /run.sh
COPY rootfs /
RUN chmod +x /run.sh \
&& chmod +x /etc/s6-overlay/s6-rc.d/bentopdf/run \
&& chmod +x /etc/s6-overlay/s6-rc.d/bentopdf/finish \
&& chmod +x /etc/cont-init.d/50-ssl.sh
LABEL \
io.hass.version="${BUILD_VERSION}" \
io.hass.type="addon" \
io.hass.arch="aarch64|amd64"
ENTRYPOINT ["/init"]