Namespace
nikolaik
Image / Tag
python-nodejs:python3.9-nodejs22-bullseye
Content Digest
sha256:e32b65770a2d446549f61a3f1cee6c13e8ce7432223162b38e1df3360bfd4529
Details
Created

2025-09-28 12:48:20 UTC

Size

515 MB

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

Environment
GPG_KEY

E3FF2839C048B25C084DEBE9B26995E310250568

LANG

C.UTF-8

PATH

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

POETRY_HOME

/usr/local

PYTHON_SHA256

61a42919e13d539f7673cf11d1c404380e28e540510860b9d242196e165709c9

PYTHON_VERSION

3.9.23


Layers

[#000] sha256:632ef5283d0fcf0e3a19d6c5dbcc294922d142b506d2ab494fb73004518cdc31 - 9.95% (51.3 MB)

[#001] sha256:2be42d221bda6286090b1656c911554463aed2c0d506c236e16250de9b9e4667 - 2.92% (15 MB)

[#002] sha256:54d1704eb717ce17ad2843f567b5defc32883042e6e9f97e2bcf2ce3c282677b - 10.14% (52.2 MB)

[#003] sha256:f0f51ee5c79e1ef5812268320c854e2eaf0bb5f4e2cf2a7974448200d36854de - 36.51% (188 MB)

[#004] sha256:8c6ac2714b2e1626544732b7d546323dbc34c82998c0b531a28b935e51fd8dcf - 1.12% (5.77 MB)

[#005] sha256:8f4122e8279d5fa7898875f3dbd341866a0ebd2918e1f1f8707d5d820e4aaa13 - 3.74% (19.3 MB)

[#006] sha256:ddcb10648475630d810577c0f823130b09432545513448473d1dc215f04c7e40 - 0.0% (249 Bytes)

[#007] sha256:d7ffd48294df3022727d7b1510a022434f3adff77e3975e24af406beae01c786 - 0.0% (4 KB)

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

[#009] sha256:e8e53b5f3c6a5d731b469a5d51ef5719759f62a262b5cd4d2ecf2caa544e2d8d - 10.79% (55.6 MB)

[#010] sha256:bc9ce3633ddad1cd762548b67a70201f2e0035d287e53c90df6ca39bcdddf1a7 - 0.01% (56 KB)

[#011] sha256:f0b4486745e71b00edc20f10bbb8c6a240128a735982f5cb703b41f55f10c079 - 24.81% (128 MB)


History
2023-04-28 21:58:08 UTC (debuerreotype 0.15)

# debian.sh --arch 'amd64' out/ 'bullseye' '@1753056000'

2023-04-28 21:58:08 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 wget ; rm -rf /var/lib/apt/lists/* # buildkit

2024-01-09 01:14:25 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

2024-01-09 01:14:25 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

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

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

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-06-04 04:24:53 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

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.9.23

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=61a42919e13d539f7673cf11d1c404380e28e540510860b9d242196e165709c9

2025-06-04 04:24:53 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 --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==58.1.0' 'wheel<0.46' ; pip3 --version # buildkit

2025-06-04 04:24:53 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

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-09-28 12:47:48 UTC (buildkit.dockerfile.v0)

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

2025-09-28 12:47:48 UTC (buildkit.dockerfile.v0)

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

2025-09-28 12:47:48 UTC (buildkit.dockerfile.v0)

ENV POETRY_HOME=/usr/local

2025-09-28 12:47:48 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get upgrade -yqq && rm -rf /var/lib/apt/lists/* # buildkit

2025-09-28 12:48:00 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c NODE_VERSION="v22.20.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

2025-09-28 12:48:01 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c corepack enable yarn # buildkit

2025-09-28 12:48:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install -U pip pipenv uv && curl -fsSL --compressed https://install.python-poetry.org | python - # buildkit

Details
Created

2025-09-28 12:53:31 UTC

Size

500 MB

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

Environment
GPG_KEY

E3FF2839C048B25C084DEBE9B26995E310250568

LANG

C.UTF-8

PATH

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

POETRY_HOME

/usr/local

PYTHON_SHA256

61a42919e13d539f7673cf11d1c404380e28e540510860b9d242196e165709c9

PYTHON_VERSION

3.9.23


Layers

[#000] sha256:b26972d9a448e4dba0ac85216372d6ee52bc89839590b4e97f94b77ced5571fe - 9.96% (49.8 MB)

[#001] sha256:a9acb5a6634ff8f020bd4562c483cdd83503103d2c080d87e777643b57123e41 - 3.0% (15 MB)

[#002] sha256:6a887974b056452b76229e3392cbf8513e741cd3dcd1f05e7397eea6fce361a0 - 10.46% (52.3 MB)

[#003] sha256:5719a0bcd2a90c155586f3a0459add493dbdddf6c85818b75e1d8b233c59fa55 - 36.23% (181 MB)

[#004] sha256:d12e6cb5df000600505d626b8561494365b1185423266f101e1aa3a606367d94 - 1.18% (5.88 MB)

[#005] sha256:c4965658f8a3fc90779eb1087ffdde24430d0dcef17245bbf40ef63cf16bc920 - 3.79% (18.9 MB)

[#006] sha256:9f66d56876203d511bc44fb8a0293b17901aca241a39351a1b59a1a0e1aa8959 - 0.0% (252 Bytes)

[#007] sha256:a5badae18f66b2266d11431e6695fe2233abedabafb2e0fb75dee9d8ca213ebc - 0.0% (4 KB)

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

[#009] sha256:feac903b427ade985f4e683eb1d83be27f7f9870f39cd811531cd4c9d8678181 - 11.13% (55.7 MB)

[#010] sha256:6985cbe2d5b090bbe7ae011ac5923e3c676542035e846c614903a0fe6928c99f - 0.01% (56.1 KB)

[#011] sha256:e0b54d506a7c6fc3e6186456c806f9f13e2139d2c0af7013fb622cbb5083f56d - 24.26% (121 MB)


History
2023-04-28 21:58:08 UTC (debuerreotype 0.15)

# debian.sh --arch 'arm64' out/ 'bullseye' '@1753056000'

2023-04-28 21:58:08 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 wget ; rm -rf /var/lib/apt/lists/* # buildkit

2024-01-09 01:14:25 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

2024-01-09 01:14:25 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

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

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

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2025-06-04 04:24:53 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

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=E3FF2839C048B25C084DEBE9B26995E310250568

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.9.23

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=61a42919e13d539f7673cf11d1c404380e28e540510860b9d242196e165709c9

2025-06-04 04:24:53 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 --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="$(dpkg-buildflags --get CFLAGS)"; LDFLAGS="$(dpkg-buildflags --get LDFLAGS)"; 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 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==58.1.0' 'wheel<0.46' ; pip3 --version # buildkit

2025-06-04 04:24:53 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

2025-06-04 04:24:53 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2025-09-28 12:49:02 UTC (buildkit.dockerfile.v0)

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

2025-09-28 12:49:02 UTC (buildkit.dockerfile.v0)

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

2025-09-28 12:49:02 UTC (buildkit.dockerfile.v0)

ENV POETRY_HOME=/usr/local

2025-09-28 12:49:02 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apt-get upgrade -yqq && rm -rf /var/lib/apt/lists/* # buildkit

2025-09-28 12:49:26 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c NODE_VERSION="v22.20.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

2025-09-28 12:49:27 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c corepack enable yarn # buildkit

2025-09-28 12:53:31 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c pip install -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