Namespace
stirlingtools
Image / Tag
stirling-pdf:alpha
Content Digest
sha256:715e5ae2748cc7b98c3d311519993287e6694406f6da7a959e7402536f0ee6b8
Details
Created

2026-01-22 21:30:04 UTC

Size

1.56 GB

Content Digest
Labels
  • maintainer
    Stirling-Tools
  • org.opencontainers.image.authors
    Stirling-Tools
  • org.opencontainers.image.created
    2026-01-22T21:26:19.375Z
  • org.opencontainers.image.description
    #1 PDF Application on GitHub that lets you edit PDFs on any device anywhere
  • org.opencontainers.image.documentation
    https://docs.stirlingpdf.com
  • org.opencontainers.image.keywords
    PDF, manipulation, API, Spring Boot, React
  • org.opencontainers.image.licenses
    NOASSERTION
  • org.opencontainers.image.revision
    43f3261972763526566713dda7d1d022d07a8c49
  • org.opencontainers.image.source
    https://github.com/Stirling-Tools/Stirling-PDF
  • org.opencontainers.image.title
    Stirling-PDF
  • org.opencontainers.image.url
    https://github.com/Stirling-Tools/Stirling-PDF
  • org.opencontainers.image.vendor
    Stirling-Tools
  • org.opencontainers.image.version
    alpha

Environment
DEBIAN_FRONTEND

noninteractive

HOME

/home/stirlingpdfuser

JAVA_BASE_OPTS

-XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/configs/heap_dumps -XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70 -Djava.awt.headless=true

JAVA_CUSTOM_OPTS

LANG

C.UTF-8

LC_ALL

C.UTF-8

LIBREOFFICE_BIN_PATH

/usr/lib/libreoffice/program/soffice.bin

PATH

/opt/venv/bin:/opt/unoserver-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PGID

1000

PUID

1000

QTWEBENGINE_CHROMIUM_FLAGS

--disable-gpu --disable-dev-shm-usage

QT_QPA_PLATFORM

offscreen

STIRLING_TEMPFILES_DIRECTORY

/tmp/stirling-pdf

TEMP

/tmp/stirling-pdf

TESS_BASE_PATH

/usr/share/tesseract-ocr/5/tessdata

TMP

/tmp/stirling-pdf

TMPDIR

/tmp/stirling-pdf

UMASK

022

UNO_PATH

/usr/lib/libreoffice/program

VERSION_TAG

2.3.1


Layers

[#000] sha256:a7d8f22c2aadf20d5854c39803f24d3546769c0e536552ff2c6e9ad3373e0c9c - 1.78% (28.4 MB)

[#001] sha256:6ca7aae270733ffcaba2c232d0767cc68a506ea1cdfdc6a43bc8a198ff26be1c - 62.14% (991 MB)

[#002] sha256:da3c9df76cd2b59f360eaed06bddef724f5578391a965bc8b27121582ed82f81 - 8.52% (136 MB)

[#003] sha256:b98d32b3a13c8726c2ba8d48faf308bc4f49f73882977e28fdc70ac5479194ae - 0.0% (821 Bytes)

[#004] sha256:37a50cd66562f9da3e6fc0c4e8846ea1dc54187ec4d1a365b9089fa3a81426ce - 0.0% (3.36 KB)

[#005] sha256:3c5d3b699bedb0de69ad2172f7fb029d3328a8e54c4b4b0a5950ffebab0209ec - 0.0% (175 Bytes)

[#006] sha256:dc9d60009a9b592e302bb69723c3912a350c08b1d89b7f6351cc3529af0f61a6 - 13.2% (210 MB)

[#007] sha256:f8e7bbf6b3243bcaae6138b43d49b86c03b7b6aa3f020f7dccd8e96753f0b389 - 0.0% (3.28 KB)

[#008] sha256:c522d3229f88f1117dbac06663dd3410dd5e445566779e2d95429d36a7ff0839 - 0.0% (69.3 KB)

[#009] sha256:41f56831f4daed24472caf785746e20c7ba62c2a15964ae79f1eec66dafb155b - 1.91% (30.4 MB)

[#010] sha256:465befe0560d0a392e96833c956a31cdd96f36dfe9ce19676082c0763ed0415f - 6.04% (96.3 MB)

[#011] sha256:238d4f0a5cb3eb1bd216c21d0167caf7c8a6d6958578c3184da93bda71a5c0fe - 0.21% (3.42 MB)

[#012] sha256:a95672bed36c90b123dbad530a87ed71db4c4e0eaa7bc01fceced98a43a6aa88 - 0.0% (194 Bytes)

[#013] sha256:b660633fb194cccb05b413a0c469ce20b12d8786919fdbf05b8e605b32555d99 - 6.18% (98.6 MB)

[#014] sha256:bf02e6f6c765d73c4928573140db3fb104d50b1a9ca39acca0d6078ee8382fd0 - 0.01% (102 KB)


History
2026-01-12 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'amd64' out/ 'stable' '@1768176000'

2026-01-22 21:27:48 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -o pipefail -c]

2026-01-22 21:27:48 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-01-22 21:27:48 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

2026-01-22 21:27:48 UTC (buildkit.dockerfile.v0)

ENV TESS_BASE_PATH=/usr/share/tesseract-ocr/5/tessdata

2026-01-22 21:27:48 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -o pipefail -c apt-get update && apt-get install -y --no-install-recommends ca-certificates tzdata tini bash fontconfig openjdk-21-jre-headless ffmpeg poppler-utils ocrmypdf imagemagick fontforge ghostscript fonts-dejavu fonts-liberation fonts-liberation2 fonts-crosextra-caladea fonts-crosextra-carlito fonts-linuxlibertine fonts-noto-core fonts-noto-cjk fonts-noto-mono fonts-noto-ui-core fonts-noto-color-emoji ttf-wqy-zenhei fonts-arphic-ukai fonts-arphic-uming python3 python3-venv python3-uno tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-por tesseract-ocr-chi-sim libcairo2 libpango-1.0-0 libpangoft2-1.0-0 libgdk-pixbuf-2.0-0 gosu unpaper qpdf libfreetype6 libfontconfig1 libx11-6 libxt6 libxext6 libxrender1 libxtst6 libxi6 libxinerama1 libxkbcommon0 libxkbfile1 libsm6 libice6 libegl1 libopengl0 libgl1 libxdamage1 libxfixes3 libxshmfence1 libdrm2 libgbm1 libxkbcommon-x11-0 libxrandr2 libxcomposite1 libnss3 libx11-xcb1 libxcb-cursor0 libdbus-1-3 libglib2.0-0 xvfb x11-utils coreutils xz-utils gpgv curl xdg-utils && curl -fsSL https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin && apt-get purge -y xz-utils gpgv xdg-utils && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* # buildkit

2026-01-22 21:28:03 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -o pipefail -c set -eux; . /etc/os-release; echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" > /etc/apt/sources.list.d/backports.list; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends -t ${VERSION_CODENAME}-backports libreoffice libreoffice-java-common; rm -rf /var/lib/apt/lists/*; libreoffice --version # buildkit

2026-01-22 21:28:03 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -o pipefail -c ln -sf /opt/calibre/ebook-convert /usr/bin/ebook-convert && /opt/calibre/ebook-convert --version # buildkit

2026-01-22 21:28:03 UTC (buildkit.dockerfile.v0)

ARG PUID=1000

2026-01-22 21:28:03 UTC (buildkit.dockerfile.v0)

ARG PGID=1000

2026-01-22 21:28:04 UTC (buildkit.dockerfile.v0)

RUN |2 PUID=1000 PGID=1000 /bin/bash -o pipefail -c set -eux; if ! getent group stirlingpdfgroup >/dev/null 2>&1; then if getent group "${PGID}" >/dev/null 2>&1; then groupadd -o -g "${PGID}" stirlingpdfgroup; else groupadd -g "${PGID}" stirlingpdfgroup; fi; fi; if ! id -u stirlingpdfuser >/dev/null 2>&1; then if getent passwd | awk -F: -v id="${PUID}" '$3==id{found=1} END{exit !found}'; then echo "UID ${PUID} already in use – creating stirlingpdfuser with automatic UID"; useradd -m -g stirlingpdfgroup -d /home/stirlingpdfuser -s /bin/bash stirlingpdfuser; else useradd -m -u "${PUID}" -g stirlingpdfgroup -d /home/stirlingpdfuser -s /bin/bash stirlingpdfuser; fi; fi # buildkit

2026-01-22 21:28:04 UTC (buildkit.dockerfile.v0)

RUN |2 PUID=1000 PGID=1000 /bin/bash -o pipefail -c ln -sf /usr/sbin/gosu /usr/local/bin/su-exec # buildkit

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

COPY --chown=stirlingpdfuser:stirlingpdfgroup /app/app/core/build/libs/*.jar /app.jar # buildkit

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

COPY --chown=stirlingpdfuser:stirlingpdfgroup /app/build/libs/restart-helper.jar /restart-helper.jar # buildkit

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

COPY scripts/ /scripts/ # buildkit

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

COPY app/core/src/main/resources/static/fonts/*.ttf /usr/share/fonts/truetype/ # buildkit

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

ARG VERSION_TAG=2.3.1

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=Stirling-PDF

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.description=Stirling-PDF with embedded frontend - Full version with Calibre, LibreOffice, Tesseract, OCRmyPDF, and more

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/Stirling-Tools/Stirling-PDF

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.licenses=MIT

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.vendor=Stirling-Tools

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.url=https://www.stirlingpdf.com

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.documentation=https://docs.stirlingpdf.com

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Stirling-Tools

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.authors=Stirling-Tools

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.version=2.3.1

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.keywords=PDF, manipulation, API, Spring Boot, React

2026-01-22 21:29:49 UTC (buildkit.dockerfile.v0)

ENV VERSION_TAG=2.3.1 JAVA_BASE_OPTS=-XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/configs/heap_dumps -XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70 -Djava.awt.headless=true JAVA_CUSTOM_OPTS= HOME=/home/stirlingpdfuser PUID=1000 PGID=1000 UMASK=022 UNO_PATH=/usr/lib/libreoffice/program LIBREOFFICE_BIN_PATH=/usr/lib/libreoffice/program/soffice.bin STIRLING_TEMPFILES_DIRECTORY=/tmp/stirling-pdf TMPDIR=/tmp/stirling-pdf TEMP=/tmp/stirling-pdf TMP=/tmp/stirling-pdf

2026-01-22 21:29:58 UTC (buildkit.dockerfile.v0)

RUN |3 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 /bin/bash -o pipefail -c python3 -m venv /opt/venv --system-site-packages && /opt/venv/bin/pip install --no-cache-dir weasyprint pdf2image opencv-python-headless && /opt/venv/bin/python -c "import cv2; print('OpenCV version:', cv2.__version__)" # buildkit

2026-01-22 21:29:58 UTC (buildkit.dockerfile.v0)

ARG UNOSERVER_VERSION=3.6

2026-01-22 21:30:00 UTC (buildkit.dockerfile.v0)

RUN |4 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 UNOSERVER_VERSION=3.6 /bin/bash -o pipefail -c python3 -m venv /opt/unoserver-venv --system-site-packages && /opt/unoserver-venv/bin/pip install --no-cache-dir "unoserver==${UNOSERVER_VERSION}" # buildkit

2026-01-22 21:30:00 UTC (buildkit.dockerfile.v0)

RUN |4 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 UNOSERVER_VERSION=3.6 /bin/bash -o pipefail -c ln -sf /opt/unoserver-venv/bin/unoconvert /opt/venv/bin/unoconvert && ln -sf /opt/unoserver-venv/bin/unoserver /opt/venv/bin/unoserver # buildkit

2026-01-22 21:30:00 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/venv/bin:/opt/unoserver-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-01-22 21:30:01 UTC (buildkit.dockerfile.v0)

RUN |4 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 UNOSERVER_VERSION=3.6 /bin/bash -o pipefail -c set -eux; chmod +x /scripts/*; mkdir -p /configs /configs/heap_dumps /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders /tmp/stirling-pdf; chown -R stirlingpdfuser:stirlingpdfgroup /home/stirlingpdfuser /configs /logs /customFiles /pipeline /tmp/stirling-pdf /app.jar /restart-helper.jar /usr/share/fonts/truetype /scripts; chmod -R 755 /tmp/stirling-pdf # buildkit

2026-01-22 21:30:04 UTC (buildkit.dockerfile.v0)

RUN |4 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 UNOSERVER_VERSION=3.6 /bin/bash -o pipefail -c fc-cache -f -v # buildkit

2026-01-22 21:30:04 UTC (buildkit.dockerfile.v0)

ENV QT_QPA_PLATFORM=offscreen QTWEBENGINE_CHROMIUM_FLAGS=--disable-gpu --disable-dev-shm-usage

2026-01-22 21:30:04 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp]

2026-01-22 21:30:04 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGTERM

2026-01-22 21:30:04 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["tini" "--" "/scripts/init.sh"]

2026-01-22 21:30:04 UTC (buildkit.dockerfile.v0)

CMD []

Details
Created

2026-01-22 21:54:23 UTC

Size

1.5 GB

Content Digest
Labels
  • maintainer
    Stirling-Tools
  • org.opencontainers.image.authors
    Stirling-Tools
  • org.opencontainers.image.created
    2026-01-22T21:26:19.375Z
  • org.opencontainers.image.description
    #1 PDF Application on GitHub that lets you edit PDFs on any device anywhere
  • org.opencontainers.image.documentation
    https://docs.stirlingpdf.com
  • org.opencontainers.image.keywords
    PDF, manipulation, API, Spring Boot, React
  • org.opencontainers.image.licenses
    NOASSERTION
  • org.opencontainers.image.revision
    43f3261972763526566713dda7d1d022d07a8c49
  • org.opencontainers.image.source
    https://github.com/Stirling-Tools/Stirling-PDF
  • org.opencontainers.image.title
    Stirling-PDF
  • org.opencontainers.image.url
    https://github.com/Stirling-Tools/Stirling-PDF
  • org.opencontainers.image.vendor
    Stirling-Tools
  • org.opencontainers.image.version
    alpha

Environment
DEBIAN_FRONTEND

noninteractive

HOME

/home/stirlingpdfuser

JAVA_BASE_OPTS

-XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/configs/heap_dumps -XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70 -Djava.awt.headless=true

JAVA_CUSTOM_OPTS

LANG

C.UTF-8

LC_ALL

C.UTF-8

LIBREOFFICE_BIN_PATH

/usr/lib/libreoffice/program/soffice.bin

PATH

/opt/venv/bin:/opt/unoserver-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PGID

1000

PUID

1000

QTWEBENGINE_CHROMIUM_FLAGS

--disable-gpu --disable-dev-shm-usage

QT_QPA_PLATFORM

offscreen

STIRLING_TEMPFILES_DIRECTORY

/tmp/stirling-pdf

TEMP

/tmp/stirling-pdf

TESS_BASE_PATH

/usr/share/tesseract-ocr/5/tessdata

TMP

/tmp/stirling-pdf

TMPDIR

/tmp/stirling-pdf

UMASK

022

UNO_PATH

/usr/lib/libreoffice/program

VERSION_TAG

2.3.1


Layers

[#000] sha256:4107269d32a679840c1eb0cd8d8925b7a6c7cba09640d07b8c96ab4fe7cbbca9 - 1.87% (28.7 MB)

[#001] sha256:d70bb89cb657ad3b0a4a8884e0837e63ed30b81449a8e6c366fdf01c60d7c171 - 62.67% (963 MB)

[#002] sha256:fe2f35d7734a6f76f68710df94a7d9a531888934c5828dd1070011cdd233fc45 - 8.59% (132 MB)

[#003] sha256:16a3de688d90ac9d0150d4be7f32221ffd8a13906ba6aa6c1c4a9f152cee4ecb - 0.0% (829 Bytes)

[#004] sha256:9e18fe69aaf674909995df395d547df8814b3da118caef8b65cbf9d8782697b2 - 0.0% (3.36 KB)

[#005] sha256:42ff1c4cc97b86d7b9dde5065e519f9b97f06e91f1d6367f425d6a7729eb5569 - 0.0% (175 Bytes)

[#006] sha256:2d3d7096a2b5b96324c097b27c7e41764e6b27effcbfef1420acf3e363222d09 - 13.69% (210 MB)

[#007] sha256:d87ecf5832b66bfaff043e91e3d51fb985384406ea0529510af67e4b83626142 - 0.0% (3.29 KB)

[#008] sha256:c522d3229f88f1117dbac06663dd3410dd5e445566779e2d95429d36a7ff0839 - 0.0% (69.3 KB)

[#009] sha256:46a23662f48c66de252cf32c1dd48c88a5138163166d3a0fc0c739e22c685007 - 1.98% (30.4 MB)

[#010] sha256:d2a605b858083125075dbe46c7d182af51e30dbd8665d2e0266e6f346dfb0882 - 4.56% (70.1 MB)

[#011] sha256:d83ec17b657600a186c95837d24600c91174973f01e154429f13d2e9f273eed4 - 0.22% (3.42 MB)

[#012] sha256:f7b8976259f4d370e05233b3d550db8ef7a6e43c0f60d81bba524405f2576448 - 0.0% (196 Bytes)

[#013] sha256:55f9028100616bd9e80ff665fcf094fe4f87c41d39e437934388604505e00ae7 - 6.41% (98.6 MB)

[#014] sha256:e1bf4be85875b0284762b3bfa64cdb6395efe32cae65c64e0ab55d71aaeb6e7e - 0.01% (102 KB)


History
2026-01-12 00:00:00 UTC (debuerreotype 0.17)

# debian.sh --arch 'arm64' out/ 'stable' '@1768176000'

2026-01-22 21:41:30 UTC (buildkit.dockerfile.v0)

SHELL [/bin/bash -o pipefail -c]

2026-01-22 21:41:30 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2026-01-22 21:41:30 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

2026-01-22 21:41:30 UTC (buildkit.dockerfile.v0)

ENV TESS_BASE_PATH=/usr/share/tesseract-ocr/5/tessdata

2026-01-22 21:41:30 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -o pipefail -c apt-get update && apt-get install -y --no-install-recommends ca-certificates tzdata tini bash fontconfig openjdk-21-jre-headless ffmpeg poppler-utils ocrmypdf imagemagick fontforge ghostscript fonts-dejavu fonts-liberation fonts-liberation2 fonts-crosextra-caladea fonts-crosextra-carlito fonts-linuxlibertine fonts-noto-core fonts-noto-cjk fonts-noto-mono fonts-noto-ui-core fonts-noto-color-emoji ttf-wqy-zenhei fonts-arphic-ukai fonts-arphic-uming python3 python3-venv python3-uno tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-por tesseract-ocr-chi-sim libcairo2 libpango-1.0-0 libpangoft2-1.0-0 libgdk-pixbuf-2.0-0 gosu unpaper qpdf libfreetype6 libfontconfig1 libx11-6 libxt6 libxext6 libxrender1 libxtst6 libxi6 libxinerama1 libxkbcommon0 libxkbfile1 libsm6 libice6 libegl1 libopengl0 libgl1 libxdamage1 libxfixes3 libxshmfence1 libdrm2 libgbm1 libxkbcommon-x11-0 libxrandr2 libxcomposite1 libnss3 libx11-xcb1 libxcb-cursor0 libdbus-1-3 libglib2.0-0 xvfb x11-utils coreutils xz-utils gpgv curl xdg-utils && curl -fsSL https://download.calibre-ebook.com/linux-installer.sh | sh /dev/stdin && apt-get purge -y xz-utils gpgv xdg-utils && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* # buildkit

2026-01-22 21:44:15 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -o pipefail -c set -eux; . /etc/os-release; echo "deb http://deb.debian.org/debian ${VERSION_CODENAME}-backports main" > /etc/apt/sources.list.d/backports.list; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends -t ${VERSION_CODENAME}-backports libreoffice libreoffice-java-common; rm -rf /var/lib/apt/lists/*; libreoffice --version # buildkit

2026-01-22 21:44:17 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -o pipefail -c ln -sf /opt/calibre/ebook-convert /usr/bin/ebook-convert && /opt/calibre/ebook-convert --version # buildkit

2026-01-22 21:44:17 UTC (buildkit.dockerfile.v0)

ARG PUID=1000

2026-01-22 21:44:17 UTC (buildkit.dockerfile.v0)

ARG PGID=1000

2026-01-22 21:44:17 UTC (buildkit.dockerfile.v0)

RUN |2 PUID=1000 PGID=1000 /bin/bash -o pipefail -c set -eux; if ! getent group stirlingpdfgroup >/dev/null 2>&1; then if getent group "${PGID}" >/dev/null 2>&1; then groupadd -o -g "${PGID}" stirlingpdfgroup; else groupadd -g "${PGID}" stirlingpdfgroup; fi; fi; if ! id -u stirlingpdfuser >/dev/null 2>&1; then if getent passwd | awk -F: -v id="${PUID}" '$3==id{found=1} END{exit !found}'; then echo "UID ${PUID} already in use – creating stirlingpdfuser with automatic UID"; useradd -m -g stirlingpdfgroup -d /home/stirlingpdfuser -s /bin/bash stirlingpdfuser; else useradd -m -u "${PUID}" -g stirlingpdfgroup -d /home/stirlingpdfuser -s /bin/bash stirlingpdfuser; fi; fi # buildkit

2026-01-22 21:44:18 UTC (buildkit.dockerfile.v0)

RUN |2 PUID=1000 PGID=1000 /bin/bash -o pipefail -c ln -sf /usr/sbin/gosu /usr/local/bin/su-exec # buildkit

2026-01-22 21:52:34 UTC (buildkit.dockerfile.v0)

COPY --chown=stirlingpdfuser:stirlingpdfgroup /app/app/core/build/libs/*.jar /app.jar # buildkit

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

COPY --chown=stirlingpdfuser:stirlingpdfgroup /app/build/libs/restart-helper.jar /restart-helper.jar # buildkit

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

COPY scripts/ /scripts/ # buildkit

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

COPY app/core/src/main/resources/static/fonts/*.ttf /usr/share/fonts/truetype/ # buildkit

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

ARG VERSION_TAG=2.3.1

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.title=Stirling-PDF

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.description=Stirling-PDF with embedded frontend - Full version with Calibre, LibreOffice, Tesseract, OCRmyPDF, and more

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/Stirling-Tools/Stirling-PDF

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.licenses=MIT

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.vendor=Stirling-Tools

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.url=https://www.stirlingpdf.com

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.documentation=https://docs.stirlingpdf.com

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL maintainer=Stirling-Tools

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.authors=Stirling-Tools

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.version=2.3.1

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.keywords=PDF, manipulation, API, Spring Boot, React

2026-01-22 21:52:35 UTC (buildkit.dockerfile.v0)

ENV VERSION_TAG=2.3.1 JAVA_BASE_OPTS=-XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/configs/heap_dumps -XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70 -Djava.awt.headless=true JAVA_CUSTOM_OPTS= HOME=/home/stirlingpdfuser PUID=1000 PGID=1000 UMASK=022 UNO_PATH=/usr/lib/libreoffice/program LIBREOFFICE_BIN_PATH=/usr/lib/libreoffice/program/soffice.bin STIRLING_TEMPFILES_DIRECTORY=/tmp/stirling-pdf TMPDIR=/tmp/stirling-pdf TEMP=/tmp/stirling-pdf TMP=/tmp/stirling-pdf

2026-01-22 21:53:49 UTC (buildkit.dockerfile.v0)

RUN |3 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 /bin/bash -o pipefail -c python3 -m venv /opt/venv --system-site-packages && /opt/venv/bin/pip install --no-cache-dir weasyprint pdf2image opencv-python-headless && /opt/venv/bin/python -c "import cv2; print('OpenCV version:', cv2.__version__)" # buildkit

2026-01-22 21:53:49 UTC (buildkit.dockerfile.v0)

ARG UNOSERVER_VERSION=3.6

2026-01-22 21:54:17 UTC (buildkit.dockerfile.v0)

RUN |4 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 UNOSERVER_VERSION=3.6 /bin/bash -o pipefail -c python3 -m venv /opt/unoserver-venv --system-site-packages && /opt/unoserver-venv/bin/pip install --no-cache-dir "unoserver==${UNOSERVER_VERSION}" # buildkit

2026-01-22 21:54:17 UTC (buildkit.dockerfile.v0)

RUN |4 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 UNOSERVER_VERSION=3.6 /bin/bash -o pipefail -c ln -sf /opt/unoserver-venv/bin/unoconvert /opt/venv/bin/unoconvert && ln -sf /opt/unoserver-venv/bin/unoserver /opt/venv/bin/unoserver # buildkit

2026-01-22 21:54:17 UTC (buildkit.dockerfile.v0)

ENV PATH=/opt/venv/bin:/opt/unoserver-venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-01-22 21:54:18 UTC (buildkit.dockerfile.v0)

RUN |4 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 UNOSERVER_VERSION=3.6 /bin/bash -o pipefail -c set -eux; chmod +x /scripts/*; mkdir -p /configs /configs/heap_dumps /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders /tmp/stirling-pdf; chown -R stirlingpdfuser:stirlingpdfgroup /home/stirlingpdfuser /configs /logs /customFiles /pipeline /tmp/stirling-pdf /app.jar /restart-helper.jar /usr/share/fonts/truetype /scripts; chmod -R 755 /tmp/stirling-pdf # buildkit

2026-01-22 21:54:23 UTC (buildkit.dockerfile.v0)

RUN |4 PUID=1000 PGID=1000 VERSION_TAG=2.3.1 UNOSERVER_VERSION=3.6 /bin/bash -o pipefail -c fc-cache -f -v # buildkit

2026-01-22 21:54:23 UTC (buildkit.dockerfile.v0)

ENV QT_QPA_PLATFORM=offscreen QTWEBENGINE_CHROMIUM_FLAGS=--disable-gpu --disable-dev-shm-usage

2026-01-22 21:54:23 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp]

2026-01-22 21:54:23 UTC (buildkit.dockerfile.v0)

STOPSIGNAL SIGTERM

2026-01-22 21:54:23 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["tini" "--" "/scripts/init.sh"]

2026-01-22 21:54:23 UTC (buildkit.dockerfile.v0)

CMD []

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete