Namespace
paperlessngx
Image / Tag
paperless-ngx:2.14.1
Content Digest
sha256:c0e72b264d33f1c2d70ea1cbc44f6ca1127883bfb267dd0fce775264bbc5c520
Details
Created

2025-01-14 01:46:42 UTC

Size

490 MB

Content Digest
Labels
  • org.opencontainers.image.authors
    paperless-ngx team <hello@paperless-ngx.com>
  • org.opencontainers.image.created
    2025-01-14T01:42:47.596Z
  • 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
    02015ec40412099b0d02c9a0b2eedb9bc781a16d
  • 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.1

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:fd674058ff8f8cfa7fb8a20c006fc0128541cbbad7f7f7f28df570d08f9e4d92 - 5.5% (26.9 MB)

[#001] sha256:ad5b6a1962fdac425252ec07daae642d785bd6d9c9fb9c665495ac32fb6c7346 - 0.65% (3.16 MB)

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

[#003] sha256:184aff3eb8fbdeb25b5697c83adcfadb6deef75d7001234b86bd6ec2d6a610a4 - 0.0% (249 Bytes)

[#004] sha256:725a1fecb6538c5b0e3ed2249d890ef6b548c576ad9f431d3ba6295ffbb4bb34 - 32.05% (157 MB)

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

[#006] sha256:fb21a73122d88085accf1d1222da72805b7631255b1c111784f6a8065877dc93 - 0.0% (853 Bytes)

[#007] sha256:31c220f78479b110525e86840b10fccadf7dfd1dbd39a2824e81bb5f1d915a78 - 0.0% (171 Bytes)

[#008] sha256:97ff2c5ca96950804fe5f4fd252877e5eb8430e38f7b3fc5353d76581cfc2b40 - 0.0% (6.47 KB)

[#009] sha256:545f2cd9ca0419f727612d939b27f6c151a14bc6c63b0622d9b56a9257c8c75a - 0.0% (7.13 KB)

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

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

[#012] sha256:b14a1620e66b74103bc87156ad6d2d28d2eafd321daf8c604d81b399515dcf68 - 36.44% (179 MB)

[#013] sha256:0c4b2b6baa81bef7da29efb991ef68e447c9579af5d105d03eca5e3138a1f2bd - 0.15% (751 KB)

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

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


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

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

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"]

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

ARG DEBIAN_FRONTEND=noninteractive

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

ARG JBIG2ENC_VERSION=0.29

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

ARG QPDF_VERSION=11.9.0

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

ARG GS_VERSION=10.03.1

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:21:40 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

2024-12-25 07:21:40 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

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

COPY gunicorn.conf.py . # buildkit

2024-12-25 07:21:40 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:21:40 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

2024-12-25 07:21:41 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

2024-12-25 07:25:56 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/src/

2025-01-07 01:43:21 UTC (buildkit.dockerfile.v0)

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

2025-01-07 01:43:21 UTC (buildkit.dockerfile.v0)

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

2025-01-07 01:44:45 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-14 01:26:32 UTC (buildkit.dockerfile.v0)

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

2025-01-14 01:44:47 UTC (buildkit.dockerfile.v0)

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

2025-01-14 01:46:42 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-14 01:46:42 UTC (buildkit.dockerfile.v0)

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

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

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

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

EXPOSE map[8000/tcp:{}]

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

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

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

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

Details
Created

2025-01-14 01:45:39 UTC

Size

395 MB

Content Digest
Labels
  • org.opencontainers.image.authors
    paperless-ngx team <hello@paperless-ngx.com>
  • org.opencontainers.image.created
    2025-01-14T01:42:47.596Z
  • 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
    02015ec40412099b0d02c9a0b2eedb9bc781a16d
  • 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.1

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:f5c6876bb3d7d368455916fa98c705330bd8a8d9c080ccea8fe4c4b35a2ecb1f - 6.77% (26.8 MB)

[#001] sha256:681f5b8ff8010135c072ddef91d563db5d69c0d0a38d4b6c79ffe3df80338747 - 0.76% (2.99 MB)

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

[#003] sha256:7635349310f552d027ea81cf5afcd0424f78affdef4fea126f52125643b0d67a - 0.0% (248 Bytes)

[#004] sha256:470ea8a6c3670ed37a6340fbdc9dc8961e420dc2f334e49fecd9de4331239e1f - 36.43% (144 MB)

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

[#006] sha256:d23afd54ad1948f64a224eea734e44d73a6ac0b2461e9a6488305b17ff138fe1 - 0.0% (853 Bytes)

[#007] sha256:96587f02f71874463eafcb100233d5f14e793876bdfbd8dd1f2778f8afb19fc0 - 0.0% (172 Bytes)

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

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

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

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

[#012] sha256:edb5aa4b9b07a572df62d3d92a00f85318d93597c9b4d02e07474925e36f4b57 - 42.57% (168 MB)

[#013] sha256:f95dd67bb52b54b18656497ef6bebd2d5b0214370bb0901a098af26acab528d8 - 0.19% (751 KB)

[#014] sha256:3624197b993929482f21eebfd7e20d6e94e02128eab08e897c5439d1c6638e42 - 9.92% (39.2 MB)

[#015] sha256:03d23bd5fc64686dfa48f55278e8bbaf52eadaf43aee253216b590ed4b1e08f7 - 0.09% (374 KB)


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

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

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"]

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

ARG DEBIAN_FRONTEND=noninteractive

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

ARG JBIG2ENC_VERSION=0.29

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

ARG QPDF_VERSION=11.9.0

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

ARG GS_VERSION=10.03.1

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:25:54 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

2024-12-25 07:25:54 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

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

COPY gunicorn.conf.py . # buildkit

2024-12-25 07:25:54 UTC (buildkit.dockerfile.v0)

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

2024-12-25 07:25:54 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

2024-12-25 07:25:56 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

2024-12-25 07:25:56 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/paperless/src/

2025-01-07 01:43:22 UTC (buildkit.dockerfile.v0)

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

2025-01-07 01:43:22 UTC (buildkit.dockerfile.v0)

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

2025-01-07 02:00:36 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-14 01:26:32 UTC (buildkit.dockerfile.v0)

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

2025-01-14 01:44:48 UTC (buildkit.dockerfile.v0)

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

2025-01-14 01:45:39 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-14 01:45:39 UTC (buildkit.dockerfile.v0)

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

2025-01-14 01:45:39 UTC (buildkit.dockerfile.v0)

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

2025-01-14 01:45:39 UTC (buildkit.dockerfile.v0)

EXPOSE map[8000/tcp:{}]

2025-01-14 01:45:39 UTC (buildkit.dockerfile.v0)

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

2025-01-14 01:45:39 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