From 5036aa1ea31246c2ceca3498e0c300aad8eff649 Mon Sep 17 00:00:00 2001 From: Trenton H <797416+stumpylog@users.noreply.github.com> Date: Fri, 21 Nov 2025 18:08:47 -0800 Subject: [PATCH] Feature: Upgrade underlying Docker image to Trixie (#10562) --- .devcontainer/Dockerfile | 28 ++-------------------------- Dockerfile | 22 ++++------------------ 2 files changed, 6 insertions(+), 44 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index fd6448e9b..ba7b192d3 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM --platform=$BUILDPLATFORM docker.io/node:20-bookworm-slim as main-app +FROM --platform=$BUILDPLATFORM docker.io/node:20-trixie-slim as main-app ARG DEBIAN_FRONTEND=noninteractive @@ -9,8 +9,6 @@ ARG TARGETARCH # Can be workflow provided, defaults set for manual building ARG JBIG2ENC_VERSION=0.29 -ARG QPDF_VERSION=11.9.0 -ARG GS_VERSION=10.03.1 # Set Python environment variables ENV PYTHONDONTWRITEBYTECODE=1 \ @@ -88,32 +86,10 @@ COPY --from=ghcr.io/astral-sh/uv:0.7.8 /uv /bin/uv RUN set -eux \ && echo "Installing pre-built updates" \ - && echo "Installing qpdf ${QPDF_VERSION}" \ - && curl --fail --silent --show-error --location \ - --output libqpdf29_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/qpdf-${QPDF_VERSION}/libqpdf29_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - && curl --fail --silent --show-error --location \ - --output qpdf_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/qpdf-${QPDF_VERSION}/qpdf_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - && dpkg --install ./libqpdf29_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - && dpkg --install ./qpdf_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - && echo "Installing Ghostscript ${GS_VERSION}" \ - && curl --fail --silent --show-error --location \ - --output libgs10_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/libgs10_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ - && curl --fail --silent --show-error --location \ - --output ghostscript_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/ghostscript_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ - && curl --fail --silent --show-error --location \ - --output libgs10-common_${GS_VERSION}.dfsg-1_all.deb \ - https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/libgs10-common_${GS_VERSION}.dfsg-1_all.deb \ - && dpkg --install ./libgs10-common_${GS_VERSION}.dfsg-1_all.deb \ - && dpkg --install ./libgs10_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ - && dpkg --install ./ghostscript_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ && echo "Installing jbig2enc" \ && curl --fail --silent --show-error --location \ --output jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/jbig2enc-${JBIG2ENC_VERSION}/jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \ + https://github.com/paperless-ngx/builder/releases/download/jbig2enc-trixie-v${JBIG2ENC_VERSION}/jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \ && dpkg --install ./jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb # setup docker-specific things diff --git a/Dockerfile b/Dockerfile index 61c6a63a2..6cedb9ba4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ # Purpose: Compiles the frontend # Notes: # - Does PNPM stuff with Typescript and such -FROM --platform=$BUILDPLATFORM docker.io/node:20-bookworm-slim AS compile-frontend +FROM --platform=$BUILDPLATFORM docker.io/node:20-trixie-slim AS compile-frontend COPY ./src-ui /src/src-ui @@ -32,7 +32,7 @@ RUN set -eux \ # Purpose: Installs s6-overlay and rootfs # Comments: # - Don't leave anything extra in here either -FROM ghcr.io/astral-sh/uv:0.9.10-python3.12-bookworm-slim AS s6-overlay-base +FROM ghcr.io/astral-sh/uv:0.9.10-python3.12-trixie-slim AS s6-overlay-base WORKDIR /usr/src/s6 @@ -102,8 +102,6 @@ ARG TARGETARCH # Can be workflow provided, defaults set for manual building ARG JBIG2ENC_VERSION=0.30 -ARG QPDF_VERSION=11.9.0 -ARG GS_VERSION=10.03.1 # Set Python environment variables ENV PYTHONDONTWRITEBYTECODE=1 \ @@ -170,20 +168,8 @@ RUN set -eux \ && apt-get update \ && apt-get install --yes --quiet --no-install-recommends ${RUNTIME_PACKAGES} \ && echo "Installing pre-built updates" \ - && curl --fail --silent --no-progress-meter --show-error --location --remote-name-all --parallel --parallel-max 4 \ - https://github.com/paperless-ngx/builder/releases/download/qpdf-${QPDF_VERSION}/libqpdf29_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/qpdf-${QPDF_VERSION}/qpdf_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/libgs10_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/ghostscript_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ - https://github.com/paperless-ngx/builder/releases/download/ghostscript-${GS_VERSION}/libgs10-common_${GS_VERSION}.dfsg-1_all.deb \ - https://github.com/paperless-ngx/builder/releases/download/jbig2enc-${JBIG2ENC_VERSION}/jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \ - && echo "Installing qpdf ${QPDF_VERSION}" \ - && dpkg --install ./libqpdf29_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - && dpkg --install ./qpdf_${QPDF_VERSION}-1_${TARGETARCH}.deb \ - && echo "Installing Ghostscript ${GS_VERSION}" \ - && dpkg --install ./libgs10-common_${GS_VERSION}.dfsg-1_all.deb \ - && dpkg --install ./libgs10_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ - && dpkg --install ./ghostscript_${GS_VERSION}.dfsg-1_${TARGETARCH}.deb \ + && curl --fail --silent --no-progress-meter --show-error --location --remote-name-all \ + https://github.com/paperless-ngx/builder/releases/download/jbig2enc-trixie-v${JBIG2ENC_VERSION}/jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \ && echo "Installing jbig2enc" \ && dpkg --install ./jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb \ && echo "Configuring imagemagick" \