Namespace
paperlessngx
Image / Tag
paperless-ngx:2.14.5
Content Digest
sha256:0dd05692644ab4e052aa9f0e3029436ca77b0385453ec7a6c8f8785ae2179c02
Details
Created

2025-01-22 01:15:04 UTC

Size

490 MB

Content Digest
Labels
  • org.opencontainers.image.authors
    paperless-ngx team <hello@paperless-ngx.com>
  • org.opencontainers.image.created
    2025-01-22T01:11:04.275Z
  • org.opencontainers.image.description
    A community-supported supercharged version of paperless: scan, index and archive all your physical documents
  • org.opencontainers.image.documentation
    https://docs.paperless-ngx.com/
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.revision
    79e541244e30de9d902d12086823c5dc470d3649
  • org.opencontainers.image.source
    https://github.com/paperless-ngx/paperless-ngx
  • org.opencontainers.image.title
    paperless-ngx
  • org.opencontainers.image.url
    https://github.com/paperless-ngx/paperless-ngx
  • org.opencontainers.image.version
    2.14.5

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PNGX_CONTAINERIZED

1

PYTHONDONTWRITEBYTECODE

1

PYTHONUNBUFFERED

1

PYTHONWARNINGS

ignore:::django.http.response:517

PYTHON_SHA256

c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e

PYTHON_VERSION

3.12.8


Layers

[#000] sha256:af302e5c37e9dc1dbe2eadc8f5059d82a914066b541b0d1a6daa91d0cc55057d - 5.49% (26.9 MB)

[#001] sha256:499051ac08b3a334937e7ed829c944091e47d01f2428dbd2d71fb37d5dc05a87 - 0.68% (3.35 MB)

[#002] sha256:52a8eea45d12c8ebc7133b2db7b6861e900f73b15fff9a94a95d140827ab10ee - 2.66% (13 MB)

[#003] sha256:bc54bb88b02b327bcc18f3d5e561c2c77490f91a580d2dcb9d40f3614511bec6 - 0.0% (250 Bytes)

[#004] sha256:ed61f9241deab932d5507e03bb80a8bec827549352f457313626858468b699ef - 32.04% (157 MB)

[#005] sha256:a031ebba149d87a7c743a529bc4b1a14b5fe47d9790c323d5db8fb660638cb00 - 0.0% (139 Bytes)

[#006] sha256:6f27391abc8cc15798c3a9aca670da5cfb1e442e4eff775c96be1d71ba663413 - 0.0% (863 Bytes)

[#007] sha256:4a281539e57be81f6546028d5d5e052a8ee2400f719e567b91962102ba85db27 - 0.0% (178 Bytes)

[#008] sha256:c3e824c531e8760c8bb8d653eb311cdd494e05d42a40018c9f5cbd5d9d5e12ee - 0.0% (6.48 KB)

[#009] sha256:d86d6423570529626cee9e6a96c3b6e2be2e35b2c17e187e180a890afde2cf53 - 0.0% (7.14 KB)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#011] sha256:2ad78c03247173d00a3dbf8ce282020871ef0c5c64d278c2c7ea255b08e1ae53 - 0.0% (1.75 KB)

[#012] sha256:c711778c37d5e875b8e6c5c8031c355f4ebf0637a86946863449dcb95480d40b - 36.43% (179 MB)

[#013] sha256:5caee93bf01ba808f160f252b385adef7a04126aa40729db2e5df5b72f91cd30 - 0.15% (753 KB)

[#014] sha256:c64687c3700e75dc1ae004386dc69dbd89f07e6b6efbd8177e58ad129eb3bcf9 - 8.0% (39.2 MB)

[#015] sha256:e1a38fc1e3efeb084f9ca7828f00f480d08f469a902e53519166b9d4cb6a2249 - 14.55% (71.3 MB)


History
2024-12-04 00:36:05 UTC (debuerreotype 0.15)

# debian.sh --arch 'amd64' out/ 'bookworm' '@1736726400'

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.8

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared --with-lto --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.authors=paperless-ngx team <hello@paperless-ngx.com>

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.documentation=https://docs.paperless-ngx.com/

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/paperless-ngx/paperless-ngx

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.url=https://github.com/paperless-ngx/paperless-ngx

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.licenses=GPL-3.0-only

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

ARG DEBIAN_FRONTEND=noninteractive

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

ARG JBIG2ENC_VERSION=0.29

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

ARG QPDF_VERSION=11.9.0

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

ARG GS_VERSION=10.03.1

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PYTHONWARNINGS=ignore:::django.http.response:517 PNGX_CONTAINERIZED=1

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

RUN |6 DEBIAN_FRONTEND=noninteractive TARGETARCH=amd64 JBIG2ENC_VERSION=0.29 QPDF_VERSION=11.9.0 GS_VERSION=10.03.1 RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils /bin/sh -c set -eux echo "Installing system packages" && apt-get update && apt-get install --yes --quiet --no-install-recommends ${RUNTIME_PACKAGES} && 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 && dpkg --install ./jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb && echo "Cleaning up image layer" && rm --force --verbose *.deb && rm --recursive --force --verbose /var/lib/apt/lists/* && echo "Installing supervisor" && python3 -m pip install --default-timeout=1000 --upgrade --no-cache-dir supervisor==4.2.5 # buildkit

2025-01-14 15:46:18 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

COPY gunicorn.conf.py . # buildkit

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/src/docker/

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

COPY docker/imagemagick-policy.xml docker/supervisord.conf docker/docker-entrypoint.sh docker/docker-prepare.sh docker/paperless_cmd.sh docker/wait-for-redis.py docker/env-from-file.sh docker/management_script.sh docker/flower-conditional.sh docker/install_management_commands.sh /usr/src/paperless/src/docker/ # buildkit

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

RUN |6 DEBIAN_FRONTEND=noninteractive TARGETARCH=amd64 JBIG2ENC_VERSION=0.29 QPDF_VERSION=11.9.0 GS_VERSION=10.03.1 RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils /bin/sh -c set -eux && echo "Configuring ImageMagick" && mv imagemagick-policy.xml /etc/ImageMagick-6/policy.xml && echo "Configuring supervisord" && mkdir /var/log/supervisord /var/run/supervisord && mv supervisord.conf /etc/supervisord.conf && echo "Setting up Docker scripts" && mv docker-entrypoint.sh /sbin/docker-entrypoint.sh && chmod 755 /sbin/docker-entrypoint.sh && mv docker-prepare.sh /sbin/docker-prepare.sh && chmod 755 /sbin/docker-prepare.sh && mv wait-for-redis.py /sbin/wait-for-redis.py && chmod 755 /sbin/wait-for-redis.py && mv env-from-file.sh /sbin/env-from-file.sh && chmod 755 /sbin/env-from-file.sh && mv paperless_cmd.sh /usr/local/bin/paperless_cmd.sh && chmod 755 /usr/local/bin/paperless_cmd.sh && mv flower-conditional.sh /usr/local/bin/flower-conditional.sh && chmod 755 /usr/local/bin/flower-conditional.sh && echo "Installing management commands" && chmod +x install_management_commands.sh && ./install_management_commands.sh # buildkit

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/src/

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

COPY /usr/src/pipenv/requirements.txt ./ # buildkit

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

ARG BUILD_PACKAGES= build-essential git libpq-dev default-libmysqlclient-dev pkg-config

2025-01-21 19:34:31 UTC (buildkit.dockerfile.v0)

RUN |7 DEBIAN_FRONTEND=noninteractive TARGETARCH=amd64 JBIG2ENC_VERSION=0.29 QPDF_VERSION=11.9.0 GS_VERSION=10.03.1 RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils BUILD_PACKAGES= build-essential git libpq-dev default-libmysqlclient-dev pkg-config /bin/sh -c set -eux && echo "Installing build system packages" && apt-get update && apt-get install --yes --quiet --no-install-recommends ${BUILD_PACKAGES} && python3 -m pip install --no-cache-dir --upgrade wheel && echo "Installing Python requirements" && curl --fail --silent --show-error --location --output psycopg_c-3.2.3-cp312-cp312-linux_x86_64.whl https://github.com/paperless-ngx/builder/releases/download/psycopg-3.2.3/psycopg_c-3.2.3-cp312-cp312-linux_x86_64.whl && curl --fail --silent --show-error --location --output psycopg_c-3.2.3-cp312-cp312-linux_aarch64.whl https://github.com/paperless-ngx/builder/releases/download/psycopg-3.2.3/psycopg_c-3.2.3-cp312-cp312-linux_aarch64.whl && python3 -m pip install --default-timeout=1000 --find-links . --requirement requirements.txt && echo "Installing NLTK data" && python3 -W ignore::RuntimeWarning -m nltk.downloader -d "/usr/share/nltk_data" snowball_data && python3 -W ignore::RuntimeWarning -m nltk.downloader -d "/usr/share/nltk_data" stopwords && python3 -W ignore::RuntimeWarning -m nltk.downloader -d "/usr/share/nltk_data" punkt_tab && echo "Cleaning up image" && apt-get --yes purge ${BUILD_PACKAGES} && apt-get --yes autoremove --purge && apt-get clean --yes && rm --recursive --force --verbose *.whl && rm --recursive --force --verbose /var/lib/apt/lists/* && rm --recursive --force --verbose /tmp/* && rm --recursive --force --verbose /var/tmp/* && rm --recursive --force --verbose /var/cache/apt/archives/* && truncate --size 0 /var/log/*log # buildkit

2025-01-22 01:11:51 UTC (buildkit.dockerfile.v0)

COPY --chown=1000:1000 ./src ./ # buildkit

2025-01-22 01:13:08 UTC (buildkit.dockerfile.v0)

COPY --chown=1000:1000 /src/src/documents/static/frontend/ ./documents/static/frontend/ # buildkit

2025-01-22 01:15:04 UTC (buildkit.dockerfile.v0)

RUN |7 DEBIAN_FRONTEND=noninteractive TARGETARCH=amd64 JBIG2ENC_VERSION=0.29 QPDF_VERSION=11.9.0 GS_VERSION=10.03.1 RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils BUILD_PACKAGES= build-essential git libpq-dev default-libmysqlclient-dev pkg-config /bin/sh -c set -eux && echo "Setting up user/group" && addgroup --gid 1000 paperless && useradd --uid 1000 --gid paperless --home-dir /usr/src/paperless paperless && echo "Creating volume directories" && mkdir --parents --verbose /usr/src/paperless/data && mkdir --parents --verbose /usr/src/paperless/media && mkdir --parents --verbose /usr/src/paperless/consume && mkdir --parents --verbose /usr/src/paperless/export && echo "Creating gnupg directory" && mkdir -m700 --verbose /usr/src/paperless/.gnupg && echo "Adjusting all permissions" && chown --from root:root --changes --recursive paperless:paperless /usr/src/paperless && echo "Collecting static files" && gosu paperless python3 manage.py collectstatic --clear --no-input --link && gosu paperless python3 manage.py compilemessages # buildkit

2025-01-22 01:15:04 UTC (buildkit.dockerfile.v0)

VOLUME [/usr/src/paperless/data /usr/src/paperless/media /usr/src/paperless/consume /usr/src/paperless/export]

2025-01-22 01:15:04 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/sbin/docker-entrypoint.sh"]

2025-01-22 01:15:04 UTC (buildkit.dockerfile.v0)

EXPOSE map[8000/tcp:{}]

2025-01-22 01:15:04 UTC (buildkit.dockerfile.v0)

CMD ["/usr/local/bin/paperless_cmd.sh"]

2025-01-22 01:15:04 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD" "curl" "-fs" "-S" "--max-time" "2" "http://localhost:8000"] "30s" "10s" "0s" "0s" '\x05'}

Details
Created

2025-01-22 01:14:00 UTC

Size

395 MB

Content Digest
Labels
  • org.opencontainers.image.authors
    paperless-ngx team <hello@paperless-ngx.com>
  • org.opencontainers.image.created
    2025-01-22T01:11:04.275Z
  • org.opencontainers.image.description
    A community-supported supercharged version of paperless: scan, index and archive all your physical documents
  • org.opencontainers.image.documentation
    https://docs.paperless-ngx.com/
  • org.opencontainers.image.licenses
    GPL-3.0
  • org.opencontainers.image.revision
    79e541244e30de9d902d12086823c5dc470d3649
  • org.opencontainers.image.source
    https://github.com/paperless-ngx/paperless-ngx
  • org.opencontainers.image.title
    paperless-ngx
  • org.opencontainers.image.url
    https://github.com/paperless-ngx/paperless-ngx
  • org.opencontainers.image.version
    2.14.5

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PNGX_CONTAINERIZED

1

PYTHONDONTWRITEBYTECODE

1

PYTHONUNBUFFERED

1

PYTHONWARNINGS

ignore:::django.http.response:517

PYTHON_SHA256

c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e

PYTHON_VERSION

3.12.8


Layers

[#000] sha256:7ce705000c390df8b2edde0e8b9c65a6677da4503a8f8fd89b355a3f827a275f - 6.76% (26.7 MB)

[#001] sha256:d02d1a1ced20b0100efa105489794679cd32592b3baa884d7cd0bce963726219 - 0.8% (3.18 MB)

[#002] sha256:b505734ccb3b2e831a9c008786edfb960bd0840be4460816bc170c7f77260aa7 - 3.27% (12.9 MB)

[#003] sha256:c64f5fd9b3eb1cbb7b3781b51900c6287dd60108a8947e65f08ff18d464f2799 - 0.0% (250 Bytes)

[#004] sha256:a66110c4021a5cc449cf120bafa7cefe9386c04be81435b361f8740d4f60e061 - 36.42% (144 MB)

[#005] sha256:70965f14842bc5afa240e460c073ff7142faed3476b26966060a97db5b2f852a - 0.0% (139 Bytes)

[#006] sha256:30107e04f0f511d9d8adee6646a7c022cbef2808c07136baf1e686d2ebc9cef7 - 0.0% (864 Bytes)

[#007] sha256:7c4c4939589d0dbc0ea3fb599b388aeae634475d2656e51859727e73c6b38636 - 0.0% (177 Bytes)

[#008] sha256:dc0a0a28b5d0e8a7ee5cc702fa8eb6d8f21725647ae408200af12491bef0d5db - 0.0% (6.49 KB)

[#009] sha256:36a607117b892a07180158cc0399398c56d7a1ebace27cf44a7149f664189faf - 0.0% (7.17 KB)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#011] sha256:a0c8029644d11c13c391da6b1d4a21a086f6526ae8420a9ae91dbc412dddd7fc - 0.0% (1.75 KB)

[#012] sha256:9be456e9993b2fd10e3eb66c607ad8ba26971f86a0111515123009de616b7cb1 - 42.55% (168 MB)

[#013] sha256:0cd2b18714e077418b3d5c060b1c4ed9cce2af1c7be01ef262ae7697ba03c87f - 0.19% (753 KB)

[#014] sha256:161ddd4bc8a9c11541d4318edd89f16ace357790d88185d32e7323b92bbf9021 - 9.91% (39.2 MB)

[#015] sha256:68a22f85c584b75d78ef05d9e3316f91d31e9c1c3f98afa98569715bbc26df47 - 0.09% (378 KB)


History
2024-12-04 00:36:05 UTC (debuerreotype 0.15)

# debian.sh --arch 'arm64' out/ 'bookworm' '@1736726400'

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates netbase tzdata ; rm -rf /var/lib/apt/lists/* # buildkit

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.12.8

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=c909157bb25ec114e5869124cc2a9c4a4d4c1e957ca4ff553f1edc692101154e

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends dpkg-dev gcc gnupg libbluetooth-dev libbz2-dev libc6-dev libdb-dev libffi-dev libgdbm-dev liblzma-dev libncursesw5-dev libreadline-dev libsqlite3-dev libssl-dev make tk-dev uuid-dev wget xz-utils zlib1g-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared --with-lto --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; LDFLAGS="${LDFLAGS:--Wl},--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; ldconfig; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); printf "*%s\n", so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual ; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2024-12-04 00:36:05 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.authors=paperless-ngx team <hello@paperless-ngx.com>

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.documentation=https://docs.paperless-ngx.com/

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.source=https://github.com/paperless-ngx/paperless-ngx

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.url=https://github.com/paperless-ngx/paperless-ngx

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.licenses=GPL-3.0-only

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

ARG DEBIAN_FRONTEND=noninteractive

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

ARG JBIG2ENC_VERSION=0.29

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

ARG QPDF_VERSION=11.9.0

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

ARG GS_VERSION=10.03.1

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 PYTHONWARNINGS=ignore:::django.http.response:517 PNGX_CONTAINERIZED=1

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

ARG RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

RUN |6 DEBIAN_FRONTEND=noninteractive TARGETARCH=arm64 JBIG2ENC_VERSION=0.29 QPDF_VERSION=11.9.0 GS_VERSION=10.03.1 RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils /bin/sh -c set -eux echo "Installing system packages" && apt-get update && apt-get install --yes --quiet --no-install-recommends ${RUNTIME_PACKAGES} && 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 && dpkg --install ./jbig2enc_${JBIG2ENC_VERSION}-1_${TARGETARCH}.deb && echo "Cleaning up image layer" && rm --force --verbose *.deb && rm --recursive --force --verbose /var/lib/apt/lists/* && echo "Installing supervisor" && python3 -m pip install --default-timeout=1000 --upgrade --no-cache-dir supervisor==4.2.5 # buildkit

2025-01-14 15:50:28 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/

2025-01-21 19:33:09 UTC (buildkit.dockerfile.v0)

COPY gunicorn.conf.py . # buildkit

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/src/docker/

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

COPY docker/imagemagick-policy.xml docker/supervisord.conf docker/docker-entrypoint.sh docker/docker-prepare.sh docker/paperless_cmd.sh docker/wait-for-redis.py docker/env-from-file.sh docker/management_script.sh docker/flower-conditional.sh docker/install_management_commands.sh /usr/src/paperless/src/docker/ # buildkit

2025-01-21 19:33:13 UTC (buildkit.dockerfile.v0)

RUN |6 DEBIAN_FRONTEND=noninteractive TARGETARCH=arm64 JBIG2ENC_VERSION=0.29 QPDF_VERSION=11.9.0 GS_VERSION=10.03.1 RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils /bin/sh -c set -eux && echo "Configuring ImageMagick" && mv imagemagick-policy.xml /etc/ImageMagick-6/policy.xml && echo "Configuring supervisord" && mkdir /var/log/supervisord /var/run/supervisord && mv supervisord.conf /etc/supervisord.conf && echo "Setting up Docker scripts" && mv docker-entrypoint.sh /sbin/docker-entrypoint.sh && chmod 755 /sbin/docker-entrypoint.sh && mv docker-prepare.sh /sbin/docker-prepare.sh && chmod 755 /sbin/docker-prepare.sh && mv wait-for-redis.py /sbin/wait-for-redis.py && chmod 755 /sbin/wait-for-redis.py && mv env-from-file.sh /sbin/env-from-file.sh && chmod 755 /sbin/env-from-file.sh && mv paperless_cmd.sh /usr/local/bin/paperless_cmd.sh && chmod 755 /usr/local/bin/paperless_cmd.sh && mv flower-conditional.sh /usr/local/bin/flower-conditional.sh && chmod 755 /usr/local/bin/flower-conditional.sh && echo "Installing management commands" && chmod +x install_management_commands.sh && ./install_management_commands.sh # buildkit

2025-01-21 19:33:10 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/src/

2025-01-21 19:33:13 UTC (buildkit.dockerfile.v0)

COPY /usr/src/pipenv/requirements.txt ./ # buildkit

2025-01-21 19:33:13 UTC (buildkit.dockerfile.v0)

ARG BUILD_PACKAGES= build-essential git libpq-dev default-libmysqlclient-dev pkg-config

2025-01-21 19:50:08 UTC (buildkit.dockerfile.v0)

RUN |7 DEBIAN_FRONTEND=noninteractive TARGETARCH=arm64 JBIG2ENC_VERSION=0.29 QPDF_VERSION=11.9.0 GS_VERSION=10.03.1 RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils BUILD_PACKAGES= build-essential git libpq-dev default-libmysqlclient-dev pkg-config /bin/sh -c set -eux && echo "Installing build system packages" && apt-get update && apt-get install --yes --quiet --no-install-recommends ${BUILD_PACKAGES} && python3 -m pip install --no-cache-dir --upgrade wheel && echo "Installing Python requirements" && curl --fail --silent --show-error --location --output psycopg_c-3.2.3-cp312-cp312-linux_x86_64.whl https://github.com/paperless-ngx/builder/releases/download/psycopg-3.2.3/psycopg_c-3.2.3-cp312-cp312-linux_x86_64.whl && curl --fail --silent --show-error --location --output psycopg_c-3.2.3-cp312-cp312-linux_aarch64.whl https://github.com/paperless-ngx/builder/releases/download/psycopg-3.2.3/psycopg_c-3.2.3-cp312-cp312-linux_aarch64.whl && python3 -m pip install --default-timeout=1000 --find-links . --requirement requirements.txt && echo "Installing NLTK data" && python3 -W ignore::RuntimeWarning -m nltk.downloader -d "/usr/share/nltk_data" snowball_data && python3 -W ignore::RuntimeWarning -m nltk.downloader -d "/usr/share/nltk_data" stopwords && python3 -W ignore::RuntimeWarning -m nltk.downloader -d "/usr/share/nltk_data" punkt_tab && echo "Cleaning up image" && apt-get --yes purge ${BUILD_PACKAGES} && apt-get --yes autoremove --purge && apt-get clean --yes && rm --recursive --force --verbose *.whl && rm --recursive --force --verbose /var/lib/apt/lists/* && rm --recursive --force --verbose /tmp/* && rm --recursive --force --verbose /var/tmp/* && rm --recursive --force --verbose /var/cache/apt/archives/* && truncate --size 0 /var/log/*log # buildkit

2025-01-22 01:11:51 UTC (buildkit.dockerfile.v0)

COPY --chown=1000:1000 ./src ./ # buildkit

2025-01-22 01:13:08 UTC (buildkit.dockerfile.v0)

COPY --chown=1000:1000 /src/src/documents/static/frontend/ ./documents/static/frontend/ # buildkit

2025-01-22 01:14:00 UTC (buildkit.dockerfile.v0)

RUN |7 DEBIAN_FRONTEND=noninteractive TARGETARCH=arm64 JBIG2ENC_VERSION=0.29 QPDF_VERSION=11.9.0 GS_VERSION=10.03.1 RUNTIME_PACKAGES= curl gosu tzdata fonts-liberation gettext ghostscript gnupg icc-profiles-free imagemagick postgresql-client mariadb-client tesseract-ocr tesseract-ocr-eng tesseract-ocr-deu tesseract-ocr-fra tesseract-ocr-ita tesseract-ocr-spa unpaper pngquant jbig2dec libxml2 libxslt1.1 qpdf file libmagic1 media-types zlib1g libzbar0 poppler-utils BUILD_PACKAGES= build-essential git libpq-dev default-libmysqlclient-dev pkg-config /bin/sh -c set -eux && echo "Setting up user/group" && addgroup --gid 1000 paperless && useradd --uid 1000 --gid paperless --home-dir /usr/src/paperless paperless && echo "Creating volume directories" && mkdir --parents --verbose /usr/src/paperless/data && mkdir --parents --verbose /usr/src/paperless/media && mkdir --parents --verbose /usr/src/paperless/consume && mkdir --parents --verbose /usr/src/paperless/export && echo "Creating gnupg directory" && mkdir -m700 --verbose /usr/src/paperless/.gnupg && echo "Adjusting all permissions" && chown --from root:root --changes --recursive paperless:paperless /usr/src/paperless && echo "Collecting static files" && gosu paperless python3 manage.py collectstatic --clear --no-input --link && gosu paperless python3 manage.py compilemessages # buildkit

2025-01-22 01:14:00 UTC (buildkit.dockerfile.v0)

VOLUME [/usr/src/paperless/data /usr/src/paperless/media /usr/src/paperless/consume /usr/src/paperless/export]

2025-01-22 01:14:00 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/sbin/docker-entrypoint.sh"]

2025-01-22 01:14:00 UTC (buildkit.dockerfile.v0)

EXPOSE map[8000/tcp:{}]

2025-01-22 01:14:00 UTC (buildkit.dockerfile.v0)

CMD ["/usr/local/bin/paperless_cmd.sh"]

2025-01-22 01:14:00 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD" "curl" "-fs" "-S" "--max-time" "2" "http://localhost:8000"] "30s" "10s" "0s" "0s" '\x05'}

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