Namespace
nikolaik
Image / Tag
python-nodejs:python3.13-nodejs25-bookworm
Content Digest
sha256:c476a25c9f2a5d252346679a66d1b72725b2e1d7976f116bd0b29df04c54f091
Details
Created

2026-02-03 12:06:48 UTC

Size

521 MB

Content Digest
Labels
  • org.opencontainers.image.authors
    Nikolai R Kristiansen <nikolaik@gmail.com>

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

PATH

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

POETRY_HOME

/usr/local

PYTHON_SHA256

16ede7bb7cdbfa895d11b0642fa0e523f291e6487194d53cf6d3b338c3a17ea2

PYTHON_VERSION

3.13.11


Layers

[#000] sha256:6bc9f599b3efabc64230fd3b969d7654fcd6c6c98ad7cf7470093fe85274a7fc - 8.88% (46.2 MB)

[#001] sha256:89edcaae7ec479668d9bf0891145726173a305c809a8c4165723ceaf15b5a05f - 4.4% (22.9 MB)

[#002] sha256:bbceb003542957cee7df7b79249eaf0a71d21c5203d086969b565fb6dec85d86 - 11.8% (61.4 MB)

[#003] sha256:6dc8224e38b60eab6eeca2f231116d0a569bbe1e6c566947cbcba7ce45fd5451 - 38.75% (202 MB)

[#004] sha256:b01ab539ef88d87989e80c64cff3fe127a50c69e1283bbf2684540042ba13b08 - 1.13% (5.88 MB)

[#005] sha256:483af3c92433416672d366aeff241b36413f5348fb48675d6840c423a5472c3d - 5.04% (26.2 MB)

[#006] sha256:54e015b93faafd999baabea02fb3d9dd5b92d111454bc507e2bd187975c9939f - 0.0% (251 Bytes)

[#007] sha256:b6c37f8fb6aa517cfe673b0eb1bf506f554405ef19ed21c0adb338f082a79d80 - 0.0% (3.25 KB)

[#008] sha256:98e1e29d5174282cb0256b2c8ada4563b302b8a4f38d89b04201c3183e543ab8 - 0.0% (2.46 KB)

[#009] sha256:0e1148ccffeffcb1e83fe836da793de5328d51d3f2a24380a95c691ab049f620 - 10.51% (54.7 MB)

[#010] sha256:9044503f739999c29e6e58889b9930627e30e389a6de218b779f5074fc6498ce - 0.21% (1.07 MB)

[#011] sha256:27a32d5358af1c127ad1b1fadda45b7798ee444608866a933724fbf3cd607d56 - 19.28% (100 MB)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

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

2026-02-03 02:41:40 UTC (buildkit.dockerfile.v0)

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

2026-02-03 03:28:14 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit

2026-02-03 04:17:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit

2026-02-03 05:42:22 UTC (buildkit.dockerfile.v0)

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

2026-02-03 05:42:22 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends libbluetooth-dev tk-dev uuid-dev ; rm -rf /var/lib/apt/lists/* # buildkit

2026-02-03 05:42:22 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-02-03 05:42:22 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.13.11

2026-02-03 05:42:22 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=16ede7bb7cdbfa895d11b0642fa0e523f291e6487194d53cf6d3b338c3a17ea2

2026-02-03 05:52:35 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; 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 $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; 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; bin="$(readlink -ve /usr/local/bin/python3)"; dir="$(dirname "$bin")"; mkdir -p "/usr/share/gdb/auto-load/$dir"; cp -vL Tools/gdb/libpython.py "/usr/share/gdb/auto-load/$bin-gdb.py"; 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; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2026-02-03 05:52:35 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

2026-02-03 05:52:35 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-02-03 12:06:18 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.authors=Nikolai R Kristiansen <nikolaik@gmail.com>

2026-02-03 12:06:18 UTC (buildkit.dockerfile.v0)

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

2026-02-03 12:06:18 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c groupadd --gid 1000 pn && useradd --uid 1000 --gid pn --shell /bin/bash --create-home pn # buildkit

2026-02-03 12:06:18 UTC (buildkit.dockerfile.v0)

ENV POETRY_HOME=/usr/local

2026-02-03 12:06:21 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c apt-get update && apt-get install --no-install-recommends -yqq libatomic1 && apt-get upgrade -yqq && rm -rf /var/lib/apt/lists/* # buildkit

2026-02-03 12:06:32 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c NODE_VERSION="v25.6.0" ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; arm64) ARCH='arm64';; *) echo "unsupported architecture"; exit 1 ;; esac && for key in $(curl -sL https://raw.githubusercontent.com/nodejs/docker-node/HEAD/keys/node.keys); do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && grep " node-$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs # buildkit

2026-02-03 12:06:33 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c npm install -g corepack && corepack enable yarn # buildkit

2026-02-03 12:06:48 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c pip install --no-cache-dir -U pip pipenv uv && curl -fsSL --compressed https://install.python-poetry.org | python - # buildkit

Details
Created

2026-02-03 12:11:05 UTC

Size

506 MB

Content Digest
Labels
  • org.opencontainers.image.authors
    Nikolai R Kristiansen <nikolaik@gmail.com>

Environment
GPG_KEY

7169605F62C751356D054A26A821E680E5FA6305

PATH

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

POETRY_HOME

/usr/local

PYTHON_SHA256

16ede7bb7cdbfa895d11b0642fa0e523f291e6487194d53cf6d3b338c3a17ea2

PYTHON_VERSION

3.13.11


Layers

[#000] sha256:64e8f4c09e7ac936ecc3deb0e61613f653224c28b2e35fa9d8e6e11cbdb5f911 - 9.11% (46.1 MB)

[#001] sha256:404413e6e45accf116074dace885c7ccf2917479ae04f2f46c046b6ae1909254 - 4.45% (22.5 MB)

[#002] sha256:e1e9aa4982c2a67e202ea283fc3760e94d8d8b16966c616e01ad0238abbaac82 - 12.15% (61.5 MB)

[#003] sha256:65d574c1c687183c16f0b081ada8360957554f72a0100ca93ba1642b15723a98 - 38.25% (194 MB)

[#004] sha256:542159ed6ed2fe6392d386c40637ed77c0a95f017d643321706d8299eb5a71c3 - 1.18% (5.95 MB)

[#005] sha256:82935be857188ef4a81266b9e17418216040dc63f5ef8906867d5963b1d1e3dd - 5.03% (25.5 MB)

[#006] sha256:f3a38b652713b9f9988e875d44d42ea210cced83921ba14aa9905c350ab93918 - 0.0% (251 Bytes)

[#007] sha256:516026ec0feda848945023c9f49dc0876d1af16ef612eb0b1756e9752dd49ce6 - 0.0% (3.24 KB)

[#008] sha256:e42214b8ff871433cf7162888338f36e0bbe08c9bebec7b5b97d91fefb42a6e3 - 0.0% (2.46 KB)

[#009] sha256:7d08716ddb20f709b64d595f2c81a2c3b02fe65d28f7e7318d76b714bc5863b3 - 10.87% (55 MB)

[#010] sha256:bebcba04a428055b3211935a07ef0a82e6c1589b88dd0879c0b2576889206e67 - 0.21% (1.07 MB)

[#011] sha256:0a45609f207413377dfd59b0c2df6e0f20be55032a6751c14f61dacd54f58bee - 18.75% (94.9 MB)


History
2026-02-02 00:00:00 UTC (debuerreotype 0.17)

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

2026-02-03 02:44:45 UTC (buildkit.dockerfile.v0)

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

2026-02-03 03:46:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; rm -rf /var/lib/apt/lists/* # buildkit

2026-02-03 04:17:02 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; rm -rf /var/lib/apt/lists/* # buildkit

2026-02-03 05:43:04 UTC (buildkit.dockerfile.v0)

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

2026-02-03 05:43:04 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends libbluetooth-dev tk-dev uuid-dev ; rm -rf /var/lib/apt/lists/* # buildkit

2026-02-03 05:43:04 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305

2026-02-03 05:43:04 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.13.11

2026-02-03 05:43:04 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=16ede7bb7cdbfa895d11b0642fa0e523f291e6487194d53cf6d3b338c3a17ea2

2026-02-03 05:55:06 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; 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 $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; arch="$(dpkg --print-architecture)"; arch="${arch##*-}"; case "$arch" in amd64|arm64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"; ;; i386) ;; *) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer"; ;; esac; 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; bin="$(readlink -ve /usr/local/bin/python3)"; dir="$(dirname "$bin")"; mkdir -p "/usr/share/gdb/auto-load/$dir"; cp -vL Tools/gdb/libpython.py "/usr/share/gdb/auto-load/$bin-gdb.py"; 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; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 --version # buildkit

2026-02-03 05:55:06 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

2026-02-03 05:55:06 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-02-03 12:07:31 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.authors=Nikolai R Kristiansen <nikolaik@gmail.com>

2026-02-03 12:07:31 UTC (buildkit.dockerfile.v0)

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

2026-02-03 12:07:31 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c groupadd --gid 1000 pn && useradd --uid 1000 --gid pn --shell /bin/bash --create-home pn # buildkit

2026-02-03 12:07:31 UTC (buildkit.dockerfile.v0)

ENV POETRY_HOME=/usr/local

2026-02-03 12:07:53 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c apt-get update && apt-get install --no-install-recommends -yqq libatomic1 && apt-get upgrade -yqq && rm -rf /var/lib/apt/lists/* # buildkit

2026-02-03 12:08:16 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c NODE_VERSION="v25.6.0" ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; arm64) ARCH='arm64';; *) echo "unsupported architecture"; exit 1 ;; esac && for key in $(curl -sL https://raw.githubusercontent.com/nodejs/docker-node/HEAD/keys/node.keys); do gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" || gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" ; done && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/node-$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && grep " node-$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs # buildkit

2026-02-03 12:08:25 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c npm install -g corepack && corepack enable yarn # buildkit

2026-02-03 12:11:05 UTC (buildkit.dockerfile.v0)

RUN /bin/bash -euo pipefail -c pip install --no-cache-dir -U pip pipenv uv && curl -fsSL --compressed https://install.python-poetry.org | python - # buildkit

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