Node.js Languages & Runtimes
Shell-less Node.js runtime built on Wolfi.
Size 161 MB Arch x86_64, aarch64 User nonroot (65532) Updated today Publishes as
minimal-node-slim Upstream nodejs.org Pull this image
docker pull ghcr.io/rtvkiz/minimal-node-slim:latest docker pull ghcr.io/rtvkiz/minimal-node-slim:latest-dev The -dev variant adds a shell, package manager and build toolchain. For CI and debugging — not production.
Details
- Repository
- ghcr.io/rtvkiz/minimal-node-slim
- Size (compressed)
- 161 MB
- Built
- 2026-09-28T23:20:58Z (today)
- Architectures
- x86_64, aarch64
- Primary package
- nodejs
- Entrypoint
- /usr/bin/dumb-init -- /usr/bin/node
- User
- nonroot (65532)
- Working dir
- /app
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-node-slim org.opencontainers.image.description Hardened shell-less Node.js image built on Wolfi with daily CVE patches org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/node-slim org.opencontainers.image.licenses Apache-2.0
- Entrypoint
- /usr/bin/dumb-init -- /usr/bin/node
- User
- nonroot (65532)
- Working dir
- /app
- Architectures
- x86_64, aarch64
- Environment
- Labels
-
org.opencontainers.image.title minimal-node-slim-dev org.opencontainers.image.description Dev variant of minimal-node-slim: same Node.js runtime + shell + build toolchain + npm/yarn/pnpm. Not for production. org.opencontainers.image.url https://github.com/rtvkiz/minimal org.opencontainers.image.source https://github.com/rtvkiz/minimal/tree/main/images/node-slim org.opencontainers.image.licenses Apache-2.0 dev.minimal.variant dev
| Tag | Pull | Published |
|---|---|---|
| 26 | ghcr.io/rtvkiz/minimal-node-slim:26 | 2026-09-28 |
| 26.10 | ghcr.io/rtvkiz/minimal-node-slim:26.10 | 2026-09-28 |
| 26.10.0-r1 | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1 | 2026-09-28 |
| 26.10.0-r1-20260928 | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260928 | 2026-09-28 |
| latest | ghcr.io/rtvkiz/minimal-node-slim:latest | 2026-09-28 |
| 26-dev | ghcr.io/rtvkiz/minimal-node-slim:26-dev | 2026-09-28 |
| 26.10-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10-dev | 2026-09-28 |
| 26.10.0-r1-20260928-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260928-dev | 2026-09-28 |
| 26.10.0-r1-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-dev | 2026-09-28 |
| latest-dev | ghcr.io/rtvkiz/minimal-node-slim:latest-dev | 2026-09-28 |
| 26.10.0-r1-20260927 | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260927 | 2026-09-27 |
| 26.10.0-r1-20260927-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260927-dev | 2026-09-27 |
| 26.10.0-r1-20260926 | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260926 | 2026-09-26 |
| 26.10.0-r1-20260926-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260926-dev | 2026-09-26 |
| 26.10.0-r1-20260925 | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260925 | 2026-09-25 |
| 26.10.0-r1-20260925-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260925-dev | 2026-09-25 |
| 26.10.0-r1-20260924 | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260924 | 2026-09-24 |
| 26.10.0-r1-20260924-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r1-20260924-dev | 2026-09-24 |
| 26.10.0-r0 | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r0 | 2026-09-23 |
| 26.10.0-r0-20260923 | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r0-20260923 | 2026-09-23 |
| 26.10.0-r0-20260923-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r0-20260923-dev | 2026-09-23 |
| 26.10.0-r0-dev | ghcr.io/rtvkiz/minimal-node-slim:26.10.0-r0-dev | 2026-09-23 |
| 26.9 | ghcr.io/rtvkiz/minimal-node-slim:26.9 | 2026-09-23 |
| 26.9.0-r0 | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0 | 2026-09-23 |
| 26.9.0-r0-20260923 | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260923 | 2026-09-23 |
| 26.9-dev | ghcr.io/rtvkiz/minimal-node-slim:26.9-dev | 2026-09-23 |
| 26.9.0-r0-20260923-dev | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260923-dev | 2026-09-23 |
| 26.9.0-r0-dev | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-dev | 2026-09-23 |
| 26.9.0-r0-20260922 | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260922 | 2026-09-22 |
| 26.9.0-r0-20260922-dev | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260922-dev | 2026-09-22 |
| 26.9.0-r0-20260921 | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260921 | 2026-09-21 |
| 26.9.0-r0-20260921-dev | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260921-dev | 2026-09-21 |
| 26.9.0-r0-20260920 | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260920 | 2026-09-20 |
| 26.9.0-r0-20260920-dev | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260920-dev | 2026-09-20 |
| 26.9.0-r0-20260919 | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260919 | 2026-09-19 |
| 26.9.0-r0-20260919-dev | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260919-dev | 2026-09-19 |
| 26.9.0-r0-20260918 | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260918 | 2026-09-18 |
| 26.9.0-r0-20260918-dev | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260918-dev | 2026-09-18 |
| 26.9.0-r0-20260917 | ghcr.io/rtvkiz/minimal-node-slim:26.9.0-r0-20260917 | 2026-09-17 |
108 packages in the image, resolved from the SPDX SBOM.
| Package | Version | License |
|---|---|---|
| alpine/ca-certificates | 20260909 | MPL-2.0 AND MIT |
| brotli | v1.2.0 | MIT |
| brotli.yaml | 9db3aeed30b6359289528ef564a4909f78faeac9 | Apache-2.0 |
| c-ares | 1.34.8-r2 | MIT |
| c-ares | v1.34.8 | MIT |
| c-ares | 1.34.8-r2 | MIT |
| c-ares | 1.34.8-r2 | — |
| c-ares.yaml | 17fa28a48fadd14e1f6e14336dc62d525c07b6f8 | Apache-2.0 |
| ca-certificates-bundle | 20260909-r1 | MPL-2.0 AND MIT |
| ca-certificates-bundle | 20260909-r1 | (MPL-2.0 AND MIT) |
| ca-certificates-bundle | 20260909-r1 | — |
| ca-certificates.yaml | ee3eac73dda22e8dd32fa5fb3e3a1712a6e812d7 | Apache-2.0 |
| dumb-init | 1.2.5-r12 | MIT |
| dumb-init | v1.2.5 | MIT |
| dumb-init | 1.2.5-r12 | MIT |
| dumb-init | 1.2.5-r12 | — |
| dumb-init.yaml | 5998ae75065c12cf1707b79252bf6b972cb81b62 | Apache-2.0 |
| gcc.yaml | 794cf72f88e1b408eca5da0dbf5c5ed25543606d | Apache-2.0 |
| git/glibc | b4f51887c48ac82acfdb13f96d9eab5d120cb2b7 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44 | 2.44-r7 | — |
| glibc-2.44-locale-posix | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r7 | LGPL-2.1-or-later |
| glibc-2.44-locale-posix | 2.44-r7 | — |
| glibc-2.44.yaml | 2f4fbb70b55156f2d4cabff471b50dab0e75aa89 | Apache-2.0 |
| gnutools/gcc | releases/gcc-16.2.0 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| icu | release-78.3 | MIT |
| icu.yaml | e063c48b03e28f3eb5a854375fbfd4284eaab2f6 | Apache-2.0 |
| icu78-data-full | 78.3-r3 | MIT |
| icu78-data-full | 78.3-r3 | MIT |
| icu78-data-full | 78.3-r3 | — |
| ld-linux-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r7 | LGPL-2.1-or-later |
| ld-linux-2.44 | 2.44-r7 | — |
| libbrotlicommon1 | 1.2.0-r5 | MIT |
| libbrotlicommon1 | 1.2.0-r5 | MIT |
| libbrotlicommon1 | 1.2.0-r5 | — |
| libbrotlidec1 | 1.2.0-r5 | MIT |
| libbrotlidec1 | 1.2.0-r5 | MIT |
| libbrotlidec1 | 1.2.0-r5 | — |
| libbrotlienc1 | 1.2.0-r5 | MIT |
| libbrotlienc1 | 1.2.0-r5 | MIT |
| libbrotlienc1 | 1.2.0-r5 | — |
| libcrypto3 | 3.6.4-r8 | Apache-2.0 |
| libcrypto3 | 3.6.4-r8 | Apache-2.0 |
| libcrypto3 | 3.6.4-r8 | — |
| libev | 4.33-r13 | BSD-2-Clause OR GPL-2.0-or-later |
| libev | 4.33 | — |
| libev | 4.33-r13 | (BSD-2-Clause OR GPL-2.0-or-later) |
| libev | 4.33-r13 | — |
| libev.yaml | 82ad1c823e7e094dd5e306c54193afaa72345bc7 | Apache-2.0 |
| libgcc | 16.2.0-r1 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libgcc | 16.2.0-r1 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libgcc | 16.2.0-r1 | — |
| libicu78 | 78.3-r3 | MIT |
| libicu78 | 78.3-r3 | MIT |
| libicu78 | 78.3-r3 | — |
| libnghttp2-14 | 1.70.0-r4 | MIT |
| libnghttp2-14 | 1.70.0-r4 | MIT |
| libnghttp2-14 | 1.70.0-r4 | — |
| libssl3 | 3.6.4-r8 | Apache-2.0 |
| libssl3 | 3.6.4-r8 | Apache-2.0 |
| libssl3 | 3.6.4-r8 | — |
| libstdc++ | 16.2.0-r1 | GPL-3.0-or-later WITH GCC-exception-3.1 |
| libstdc++ | 16.2.0-r1 | (GPL-3.0-or-later WITH GCC-exception-3.1) |
| libstdc++ | 16.2.0-r1 | — |
| libuv | 1.53.0-r0 | MIT AND ISC |
| libuv | v1.53.0 | MIT AND ISC |
| libuv | 1.53.0-r0 | (MIT AND ISC) |
| libuv | 1.53.0-r0 | — |
| libuv.yaml | 6ee5086b767a2f31854a43ce96bd3b6a275cc36c | Apache-2.0 |
| nghttp2 | v1.70.0 | MIT |
| nghttp2 | 1.70.0-r4 | MIT |
| nghttp2 | 1.70.0-r4 | MIT |
| nghttp2 | 1.70.0-r4 | — |
| nghttp2.yaml | 88d034c8a90ab9303114c4a82765cd63372ec5f3 | Apache-2.0 |
| node | v26.10.0 | MIT |
| nodejs-26 | 26.10.0-r1 | MIT |
| nodejs-26 | 26.10.0-r1 | MIT |
| nodejs-26 | 26.10.0-r1 | — |
| nodejs-26.yaml | 88d034c8a90ab9303114c4a82765cd63372ec5f3 | Apache-2.0 |
| openssl | openssl-4.0.2 | Apache-2.0 |
| openssl | openssl-3.6.4 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libcrypto | 4.0.2-r2 | — |
| openssl-4.0-libssl | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libssl | 4.0.2-r2 | Apache-2.0 |
| openssl-4.0-libssl | 4.0.2-r2 | — |
| openssl-4.0.yaml | b8f04118437fbbf25bbaad575ccb9f2ed62b8503 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | Apache-2.0 |
| openssl-provider-legacy-allowed | 4.0.2-r3 | — |
| openssl-provider-legacy-allowed.yaml | b8f04118437fbbf25bbaad575ccb9f2ed62b8503 | Apache-2.0 |
| openssl.yaml | be56cfaac075e77bffb92439e0438bb31a21a2c7 | Apache-2.0 |
| sha256:3ac69520bf81667618225e31088b694e4c8911516226eb7a38eaa1681286f4d9 | sha256:3ac69520bf81667618225e31088b694e4c8911516226eb7a38eaa1681286f4d9 | — |
| sha256:861b42851cd337a9e992e0aab31f93ca9bf9a327d736895fd2c18e9ed8362880 | 20230201 | — |
| wolfi | 20230201 | — |
| wolfi-baselayout | 20230201-r30 | MIT |
| wolfi-baselayout | 20230201-r30 | MIT |
| wolfi-baselayout | 20230201-r30 | — |
| wolfi-baselayout.yaml | a4472f6292a5e48d6d611bf24c6e119b1a483e66 | Apache-2.0 |
| zlib | 1.3.2.1_rc20260601-r0 | MPL-2.0 AND MIT |
| zlib | e3dc0a85b7032e98380dec011bc8f2c2ee0d8fca | MPL-2.0 AND MIT |
| zlib | 1.3.2.1_rc20260601-r0 | (MPL-2.0 AND MIT) |
| zlib | 1.3.2.1_rc20260601-r0 | — |
| zlib.yaml | f2ad881d0053f3f3b6b639e041b171fc0e5b7244 | Apache-2.0 |
4 medium 0 fixable
| CVE | Severity | Package | Installed | Fixed in |
|---|---|---|---|---|
| CVE-2026-77117 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-80489 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-8674 | Medium | glibc-2.44 | 2.44-r7 | — |
| CVE-2026-89092 | Medium | glibc-2.44 | 2.44-r7 | — |
Everything is verifiable without an account. Copy and run:
Build provenance (SLSA v1.0, Build L2)
gh attestation verify oci://ghcr.io/rtvkiz/minimal-node-slim:latest --owner rtvkiz Cosign signature
cosign verify \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-node-slim:latest SBOM attestation (SPDX)
cosign verify-attestation --type spdxjson \
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/' \
--certificate-oidc-issuer='https://token.actions.githubusercontent.com' \
ghcr.io/rtvkiz/minimal-node-slim:latest \
| jq -r '.payload | @base64d | fromjson | .predicate' Signatures are logged in the public Rekor transparency log.
More Languages & Runtimes images
Weighing this against another provider? The comparison pages publish head-to-head scan data with the raw dataset, including the images where Minimal comes off worse — or read the migration guide for what actually breaks when you switch.