Namespace
nodered
Image / Tag
node-red:latest-18
Content Digest
sha256:75fa22fbebac067426ac0edf39cc95997ed279fde59ee50df4776933080e3dc6
Details
Created

2026-01-07 16:32:40 UTC

Size

188 MB

Content Digest
Labels
  • authors
    Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan
  • org.label-schema.arch
  • org.label-schema.build-date
    2026-01-07T16:31:52Z
  • org.label-schema.description
    Low-code programming for event-driven applications.
  • org.label-schema.docker.dockerfile
    .docker/Dockerfile.alpine
  • org.label-schema.license
    Apache-2.0
  • org.label-schema.name
    Node-RED
  • org.label-schema.url
    https://nodered.org
  • org.label-schema.vcs-ref
  • org.label-schema.vcs-type
    Git
  • org.label-schema.vcs-url
    https://github.com/node-red/node-red-docker
  • org.label-schema.version
    4.1.3
  • org.opencontainers.image.source
    https://github.com/node-red/node-red-docker

Environment
FLOWS

flows.json

NODE_PATH

/usr/src/node-red/node_modules:/data/node_modules

NODE_RED_VERSION

v4.1.3

NODE_VERSION

18.20.8

PATH

/usr/src/node-red/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

YARN_VERSION

1.22.22


Layers

[#000] sha256:f18232174bc91741fdf3da96d85011092101a032a93a388b79e99e69c2d5c870 - 1.85% (3.47 MB)

[#001] sha256:dd71dde834b5c203d162902e6b8994cb2309ae049a0eabc4efea161b2b5a3d0e - 20.34% (38.2 MB)

[#002] sha256:1e5a4c89cee5c0826c540ab06d4b6b491c96eda01837f430bd47f0d26702d6e3 - 0.64% (1.2 MB)

[#003] sha256:25ff2da83641908f65c3a74d80409d6b1b62ccfaab220b9ea70b80df5a2e0549 - 0.0% (446 Bytes)

[#004] sha256:f7545c5728e7bf6ff83e0eb77beac55a14ca9e30f6290843a7c15eb7936ece0b - 0.0% (596 Bytes)

[#005] sha256:992982966afe0bf69ac255fd3a4cd00ab29f7ee3b6a14787ceb4dbe21a208876 - 0.0% (464 Bytes)

[#006] sha256:57000c2839f3218a2d6a0e1b4643db717f0bc0b88eb76f45ad2631aa625095b6 - 6.03% (11.3 MB)

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

[#008] sha256:ea6d663c8e60774ffc4b2d8e9d4a4d3eb4517d1ae8795be6a01860a3682291fb - 0.0% (1.57 KB)

[#009] sha256:e2f176ccf0fb02f0d94a7411283e7aa1d9b652990471b4808acf05616d483b2b - 0.0% (2.31 KB)

[#010] sha256:e6c0739fe0480e183f896bf05447db5552b0eb8a55a028aaccd0e2408e043f8e - 0.0% (995 Bytes)

[#011] sha256:d50d8e01019076e7e1547f27c674d3a596ddbc8e65ebfc334295933a2168d1b7 - 0.0% (588 Bytes)

[#012] sha256:293adee27e407ec953cb0c82c185b389b3925f6e524ef25be24a068b161ecbaf - 0.0% (832 Bytes)

[#013] sha256:d54fbf233a7a662e5f0c8f5c3bc4a368d068adb6221cc577d5c5c88571cde1ed - 0.0% (355 Bytes)

[#014] sha256:335d6e4ac035691cb043967e4a481ef81a1e23a76e319179cfcfa19b806204ac - 9.88% (18.5 MB)

[#015] sha256:61543c50c39fe3e20d9a139ec93e9b6d501ddc739295614e842a365b5504849e - 61.26% (115 MB)

[#016] sha256:9e855fe1eecb55456c36a506883e161b4dc5af9f47a4f20693782dae70c7b455 - 0.0% (582 Bytes)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-x86_64.tar.gz / # buildkit

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

CMD ["/bin/sh"]

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=18.20.8

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="2c75d5d562d3ffc049ca1bbea65b68ae6bd0ec50ed04b1f606e065eaf35e8599" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in C0D6248439F1D5604AAFFB4021D900FFDB233756 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; 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/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; 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://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-01-07 16:32:10 UTC (buildkit.dockerfile.v0)

ARG QEMU_ARCH

2026-01-07 16:32:10 UTC (buildkit.dockerfile.v0)

COPY .docker/scripts/*.sh /tmp/ # buildkit

2026-01-07 16:32:10 UTC (buildkit.dockerfile.v0)

COPY .docker/healthcheck.js / # buildkit

2026-01-07 16:32:11 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c set -ex && apk add --no-cache bash tzdata iputils curl nano git openssl openssh-client ca-certificates && mkdir -p /usr/src/node-red /data && deluser --remove-home node && adduser -h /usr/src/node-red -D -H node-red -u 1000 && chown -R node-red:root /data && chmod -R g+rwX /data && chown -R node-red:root /usr/src/node-red && chmod -R g+rwX /usr/src/node-red # buildkit

2026-01-07 16:32:11 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/node-red

2026-01-07 16:32:11 UTC (buildkit.dockerfile.v0)

COPY .docker/known_hosts.sh . # buildkit

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c ./known_hosts.sh /etc/ssh/ssh_known_hosts && rm /usr/src/node-red/known_hosts.sh # buildkit

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> /etc/ssh/ssh_config # buildkit

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

COPY package.json . # buildkit

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

COPY flows.json /data # buildkit

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

COPY .docker/scripts/entrypoint.sh . # buildkit

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

ARG BUILD_DATE=2026-01-07T16:31:52Z

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

ARG BUILD_VERSION=4.1.3

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

ARG BUILD_REF=

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

ARG NODE_RED_VERSION=v4.1.3

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

ARG ARCH

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

ARG QEMU_ARCH

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

ARG TAG_SUFFIX=

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

LABEL org.label-schema.build-date=2026-01-07T16:31:52Z org.label-schema.docker.dockerfile=.docker/Dockerfile.alpine org.label-schema.license=Apache-2.0 org.label-schema.name=Node-RED org.label-schema.version=4.1.3 org.label-schema.description=Low-code programming for event-driven applications. org.label-schema.url=https://nodered.org org.label-schema.vcs-ref= org.label-schema.vcs-type=Git org.label-schema.vcs-url=https://github.com/node-red/node-red-docker org.opencontainers.image.source=https://github.com/node-red/node-red-docker org.label-schema.arch= authors=Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan

2026-01-07 16:32:32 UTC (buildkit.dockerfile.v0)

COPY /usr/src/node-red/prod_node_modules ./node_modules # buildkit

2026-01-07 16:32:39 UTC (buildkit.dockerfile.v0)

RUN |7 QEMU_ARCH= BUILD_DATE=2026-01-07T16:31:52Z BUILD_VERSION=4.1.3 BUILD_REF= NODE_RED_VERSION=v4.1.3 ARCH= TAG_SUFFIX= /bin/sh -c chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/* # buildkit

2026-01-07 16:32:40 UTC (buildkit.dockerfile.v0)

RUN |7 QEMU_ARCH= BUILD_DATE=2026-01-07T16:31:52Z BUILD_VERSION=4.1.3 BUILD_REF= NODE_RED_VERSION=v4.1.3 ARCH= TAG_SUFFIX= /bin/sh -c npm config set cache /data/.npm --global # buildkit

2026-01-07 16:32:40 UTC (buildkit.dockerfile.v0)

USER node-red

2026-01-07 16:32:40 UTC (buildkit.dockerfile.v0)

ENV NODE_RED_VERSION=v4.1.3 NODE_PATH=/usr/src/node-red/node_modules:/data/node_modules PATH=/usr/src/node-red/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin FLOWS=flows.json

2026-01-07 16:32:40 UTC (buildkit.dockerfile.v0)

EXPOSE [1880/tcp]

2026-01-07 16:32:40 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD-SHELL" "node /healthcheck.js"] "0s" "0s" "0s" "0s" '\x00'}

2026-01-07 16:32:40 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./entrypoint.sh"]

Details
Created

2026-01-07 16:41:10 UTC

Size

163 MB

Content Digest
Labels
  • authors
    Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan
  • org.label-schema.arch
  • org.label-schema.build-date
    2026-01-07T16:31:52Z
  • org.label-schema.description
    Low-code programming for event-driven applications.
  • org.label-schema.docker.dockerfile
    .docker/Dockerfile.alpine
  • org.label-schema.license
    Apache-2.0
  • org.label-schema.name
    Node-RED
  • org.label-schema.url
    https://nodered.org
  • org.label-schema.vcs-ref
  • org.label-schema.vcs-type
    Git
  • org.label-schema.vcs-url
    https://github.com/node-red/node-red-docker
  • org.label-schema.version
    4.1.3
  • org.opencontainers.image.source
    https://github.com/node-red/node-red-docker

Environment
FLOWS

flows.json

NODE_PATH

/usr/src/node-red/node_modules:/data/node_modules

NODE_RED_VERSION

v4.1.3

NODE_VERSION

18.20.8

PATH

/usr/src/node-red/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

YARN_VERSION

1.22.22


Layers

[#000] sha256:85f3b18f9f5a8655db86c6dfb02bb01011ffef63d10a173843c5c65c3e9137b7 - 1.81% (2.95 MB)

[#001] sha256:9375db9f7b52f2dc0d69b787b88f00ec2ac08e85546cdd2a0651d2d493e82376 - 22.18% (36.1 MB)

[#002] sha256:f46f120f4dbc8cf9f7df3d39a9ecc6924b71d367c1214958f301dd9c445eb6d0 - 0.74% (1.2 MB)

[#003] sha256:51ec53da53c54ed80594d06deb6768d0309ff95a0412b791c8cb931c904761ef - 0.0% (444 Bytes)

[#004] sha256:0ae6e5a0fd33e84e899cc19b7d645cefa40f7e85d33e0f075cf5df6c806ae305 - 0.0% (596 Bytes)

[#005] sha256:992982966afe0bf69ac255fd3a4cd00ab29f7ee3b6a14787ceb4dbe21a208876 - 0.0% (464 Bytes)

[#006] sha256:4b5e54bdc631529d83950f24f57e2f66d367f0d6950d7107ce4fa7309789b25e - 6.15% (10 MB)

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

[#008] sha256:d601c005282c7fda732f2f589169902eb5ba40477ab128bce6da62df2a279ab2 - 0.0% (1.57 KB)

[#009] sha256:6b7a85a896a44d3e5edd12a0d09ab63c83a7efcee9dd407149b04cd63e203c14 - 0.0% (2.32 KB)

[#010] sha256:512525c3d25e639afc934baf4ae41a958ef86e49fcd453617b11259a4e2076f2 - 0.0% (999 Bytes)

[#011] sha256:b94b36a26be490f6cf45285ca8785214276ccb83cf624f9cc4b70c689b26b520 - 0.0% (586 Bytes)

[#012] sha256:7ad7b9e095f7cbf07aff9980c5782606430dc0280d9274b60f7dc225c0fb0400 - 0.0% (832 Bytes)

[#013] sha256:0a169a0629612e403758618c5a908c0bb767700cc771a6b3d894c1a16224c4df - 0.0% (355 Bytes)

[#014] sha256:f99c7f64a4aadf658f0ea7451168492cdc6e248c49b1b9046fc3b64d79008aa0 - 11.36% (18.5 MB)

[#015] sha256:24d2698852c6c15890572b2aa38afb9f4ff6c178fe02318801ad05ac696bf63b - 57.75% (94.1 MB)

[#016] sha256:82e75b64b8520dc57de691ba2e0a37c271db309f640cfd6d857b303c8d572f82 - 0.0% (587 Bytes)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-armv7.tar.gz / # buildkit

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

CMD ["/bin/sh"]

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=18.20.8

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="2c75d5d562d3ffc049ca1bbea65b68ae6bd0ec50ed04b1f606e065eaf35e8599" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in C0D6248439F1D5604AAFFB4021D900FFDB233756 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; 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/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; 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://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-01-07 16:32:43 UTC (buildkit.dockerfile.v0)

ARG QEMU_ARCH

2026-01-07 16:32:43 UTC (buildkit.dockerfile.v0)

COPY .docker/scripts/*.sh /tmp/ # buildkit

2026-01-07 16:32:56 UTC (buildkit.dockerfile.v0)

COPY .docker/healthcheck.js / # buildkit

2026-01-07 16:33:08 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c set -ex && apk add --no-cache bash tzdata iputils curl nano git openssl openssh-client ca-certificates && mkdir -p /usr/src/node-red /data && deluser --remove-home node && adduser -h /usr/src/node-red -D -H node-red -u 1000 && chown -R node-red:root /data && chmod -R g+rwX /data && chown -R node-red:root /usr/src/node-red && chmod -R g+rwX /usr/src/node-red # buildkit

2026-01-07 16:33:11 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/node-red

2026-01-07 16:33:11 UTC (buildkit.dockerfile.v0)

COPY .docker/known_hosts.sh . # buildkit

2026-01-07 16:33:20 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c ./known_hosts.sh /etc/ssh/ssh_known_hosts && rm /usr/src/node-red/known_hosts.sh # buildkit

2026-01-07 16:33:21 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> /etc/ssh/ssh_config # buildkit

2026-01-07 16:33:21 UTC (buildkit.dockerfile.v0)

COPY package.json . # buildkit

2026-01-07 16:33:22 UTC (buildkit.dockerfile.v0)

COPY flows.json /data # buildkit

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

COPY .docker/scripts/entrypoint.sh . # buildkit

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

ARG BUILD_DATE=2026-01-07T16:31:52Z

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

ARG BUILD_VERSION=4.1.3

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

ARG BUILD_REF=

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

ARG NODE_RED_VERSION=v4.1.3

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

ARG ARCH

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

ARG QEMU_ARCH

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

ARG TAG_SUFFIX=

2026-01-07 16:33:23 UTC (buildkit.dockerfile.v0)

LABEL org.label-schema.build-date=2026-01-07T16:31:52Z org.label-schema.docker.dockerfile=.docker/Dockerfile.alpine org.label-schema.license=Apache-2.0 org.label-schema.name=Node-RED org.label-schema.version=4.1.3 org.label-schema.description=Low-code programming for event-driven applications. org.label-schema.url=https://nodered.org org.label-schema.vcs-ref= org.label-schema.vcs-type=Git org.label-schema.vcs-url=https://github.com/node-red/node-red-docker org.opencontainers.image.source=https://github.com/node-red/node-red-docker org.label-schema.arch= authors=Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan

2026-01-07 16:37:51 UTC (buildkit.dockerfile.v0)

COPY /usr/src/node-red/prod_node_modules ./node_modules # buildkit

2026-01-07 16:41:05 UTC (buildkit.dockerfile.v0)

RUN |7 QEMU_ARCH= BUILD_DATE=2026-01-07T16:31:52Z BUILD_VERSION=4.1.3 BUILD_REF= NODE_RED_VERSION=v4.1.3 ARCH= TAG_SUFFIX= /bin/sh -c chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/* # buildkit

2026-01-07 16:41:10 UTC (buildkit.dockerfile.v0)

RUN |7 QEMU_ARCH= BUILD_DATE=2026-01-07T16:31:52Z BUILD_VERSION=4.1.3 BUILD_REF= NODE_RED_VERSION=v4.1.3 ARCH= TAG_SUFFIX= /bin/sh -c npm config set cache /data/.npm --global # buildkit

2026-01-07 16:41:10 UTC (buildkit.dockerfile.v0)

USER node-red

2026-01-07 16:41:10 UTC (buildkit.dockerfile.v0)

ENV NODE_RED_VERSION=v4.1.3 NODE_PATH=/usr/src/node-red/node_modules:/data/node_modules PATH=/usr/src/node-red/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin FLOWS=flows.json

2026-01-07 16:41:10 UTC (buildkit.dockerfile.v0)

EXPOSE [1880/tcp]

2026-01-07 16:41:10 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD-SHELL" "node /healthcheck.js"] "0s" "0s" "0s" "0s" '\x00'}

2026-01-07 16:41:10 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./entrypoint.sh"]

Details
Created

2026-01-07 16:34:01 UTC

Size

184 MB

Content Digest
Labels
  • authors
    Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan
  • org.label-schema.arch
  • org.label-schema.build-date
    2026-01-07T16:31:52Z
  • org.label-schema.description
    Low-code programming for event-driven applications.
  • org.label-schema.docker.dockerfile
    .docker/Dockerfile.alpine
  • org.label-schema.license
    Apache-2.0
  • org.label-schema.name
    Node-RED
  • org.label-schema.url
    https://nodered.org
  • org.label-schema.vcs-ref
  • org.label-schema.vcs-type
    Git
  • org.label-schema.vcs-url
    https://github.com/node-red/node-red-docker
  • org.label-schema.version
    4.1.3
  • org.opencontainers.image.source
    https://github.com/node-red/node-red-docker

Environment
FLOWS

flows.json

NODE_PATH

/usr/src/node-red/node_modules:/data/node_modules

NODE_RED_VERSION

v4.1.3

NODE_VERSION

18.20.8

PATH

/usr/src/node-red/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

YARN_VERSION

1.22.22


Layers

[#000] sha256:6e771e15690e2fabf2332d3a3b744495411d6e0b00b2aea64419b58b0066cf81 - 2.07% (3.81 MB)

[#001] sha256:d84c815451acbca96b6e6bdb479929222bec57121dfe10cc5b128c5c2dbaf10a - 20.55% (37.8 MB)

[#002] sha256:8bfa36aa66ce614f6da68a16fb71f875da8d623310f0cb80ae1ecfa092f587f6 - 0.65% (1.2 MB)

[#003] sha256:02bb84e9f3412827f177bc6c020812249b32a8425d2c1858e9d71bd4c015f031 - 0.0% (443 Bytes)

[#004] sha256:897c98ed2a4bbfe5d749ed479bb04568db563ee43142944687f5ddb6520e3c2f - 0.0% (596 Bytes)

[#005] sha256:992982966afe0bf69ac255fd3a4cd00ab29f7ee3b6a14787ceb4dbe21a208876 - 0.0% (464 Bytes)

[#006] sha256:9d753b8217d0fa521db1d6993d1412cf2c30e79d9976983658d444deb29a5294 - 6.35% (11.7 MB)

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

[#008] sha256:36765a2aa8823276187106a7bd1fe69bf45eeedfd8c394da4075a9d45e2ee5ce - 0.0% (1.57 KB)

[#009] sha256:d761515940f44a5ea49e188fe430dd040bca0a1f916de20b119d91dba88fb60d - 0.0% (2.32 KB)

[#010] sha256:397941db9255f3b5219af599173c964f52a417e11855d578e1a7e61760d8a6c5 - 0.0% (996 Bytes)

[#011] sha256:e1476371ecab5dc762ea48b5e54ea5b93259130b924bb165dc4345cefe5b13d5 - 0.0% (589 Bytes)

[#012] sha256:d0715bc96c73d3f9f8fd89810d63fb4673ad003ebcfaedc8bab7582a56f1bfe1 - 0.0% (833 Bytes)

[#013] sha256:a38e85c296e16a25252d4169e6cf3238aec6d605d6484017503206abaf07d1d1 - 0.0% (357 Bytes)

[#014] sha256:8f6fa04018c4e6fcbbcdfda23f7bbd8c686b73a3286628a11e51d13df0d74c81 - 10.06% (18.5 MB)

[#015] sha256:abb4870558686bb8e67622e320296e419bf3db5c4baa4bef0b5587fd8526103b - 60.32% (111 MB)

[#016] sha256:6f2deb3304f6789ec14d1a543895ea111a60f5c76562afc16fc1f081b3f97d0b - 0.0% (584 Bytes)


History
2025-02-14 03:28:36 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.21.3-aarch64.tar.gz / # buildkit

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

CMD ["/bin/sh"]

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENV NODE_VERSION=18.20.8

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c addgroup -g 1000 node && adduser -u 1000 -G node -s /bin/sh -D node && apk add --no-cache libstdc++ && apk add --no-cache --virtual .build-deps curl && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)" && case "${alpineArch##*-}" in x86_64) ARCH='x64' CHECKSUM="2c75d5d562d3ffc049ca1bbea65b68ae6bd0ec50ed04b1f606e065eaf35e8599" OPENSSL_ARCH=linux-x86_64;; x86) OPENSSL_ARCH=linux-elf;; aarch64) OPENSSL_ARCH=linux-aarch64;; arm*) OPENSSL_ARCH=linux-armv4;; ppc64le) OPENSSL_ARCH=linux-ppc64le;; s390x) OPENSSL_ARCH=linux-s390x;; *) ;; esac && if [ -n "${CHECKSUM}" ]; then set -eu; curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"; echo "$CHECKSUM node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && ln -s /usr/local/bin/node /usr/local/bin/nodejs; else echo "Building from source" && apk add --no-cache --virtual .build-deps-full binutils-gold g++ gcc gnupg libgcc linux-headers make python3 py-setuptools && export GNUPGHOME="$(mktemp -d)" && for key in C0D6248439F1D5604AAFFB4021D900FFDB233756 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A A363A499291CBBC940DD62E41F10027AF002F8B0 ; 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/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xf "node-v$NODE_VERSION.tar.xz" && cd "node-v$NODE_VERSION" && ./configure && make -j$(getconf _NPROCESSORS_ONLN) V= && make install && apk del .build-deps-full && cd .. && rm -Rf "node-v$NODE_VERSION" && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt; fi && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apk del .build-deps && node --version && npm --version # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENV YARN_VERSION=1.22.22

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; 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://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apk del .build-deps-yarn && yarn --version && rm -rf /tmp/* # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

COPY docker-entrypoint.sh /usr/local/bin/ # buildkit

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["docker-entrypoint.sh"]

2025-03-27 14:23:08 UTC (buildkit.dockerfile.v0)

CMD ["node"]

2026-01-07 16:32:10 UTC (buildkit.dockerfile.v0)

ARG QEMU_ARCH

2026-01-07 16:32:10 UTC (buildkit.dockerfile.v0)

COPY .docker/scripts/*.sh /tmp/ # buildkit

2026-01-07 16:32:10 UTC (buildkit.dockerfile.v0)

COPY .docker/healthcheck.js / # buildkit

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c set -ex && apk add --no-cache bash tzdata iputils curl nano git openssl openssh-client ca-certificates && mkdir -p /usr/src/node-red /data && deluser --remove-home node && adduser -h /usr/src/node-red -D -H node-red -u 1000 && chown -R node-red:root /data && chmod -R g+rwX /data && chown -R node-red:root /usr/src/node-red && chmod -R g+rwX /usr/src/node-red # buildkit

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/node-red

2026-01-07 16:32:14 UTC (buildkit.dockerfile.v0)

COPY .docker/known_hosts.sh . # buildkit

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c ./known_hosts.sh /etc/ssh/ssh_known_hosts && rm /usr/src/node-red/known_hosts.sh # buildkit

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

RUN |1 QEMU_ARCH= /bin/sh -c echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> /etc/ssh/ssh_config # buildkit

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

COPY package.json . # buildkit

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

COPY flows.json /data # buildkit

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

COPY .docker/scripts/entrypoint.sh . # buildkit

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

ARG BUILD_DATE=2026-01-07T16:31:52Z

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

ARG BUILD_VERSION=4.1.3

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

ARG BUILD_REF=

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

ARG NODE_RED_VERSION=v4.1.3

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

ARG ARCH

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

ARG QEMU_ARCH

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

ARG TAG_SUFFIX=

2026-01-07 16:32:20 UTC (buildkit.dockerfile.v0)

LABEL org.label-schema.build-date=2026-01-07T16:31:52Z org.label-schema.docker.dockerfile=.docker/Dockerfile.alpine org.label-schema.license=Apache-2.0 org.label-schema.name=Node-RED org.label-schema.version=4.1.3 org.label-schema.description=Low-code programming for event-driven applications. org.label-schema.url=https://nodered.org org.label-schema.vcs-ref= org.label-schema.vcs-type=Git org.label-schema.vcs-url=https://github.com/node-red/node-red-docker org.opencontainers.image.source=https://github.com/node-red/node-red-docker org.label-schema.arch= authors=Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan

2026-01-07 16:33:42 UTC (buildkit.dockerfile.v0)

COPY /usr/src/node-red/prod_node_modules ./node_modules # buildkit

2026-01-07 16:33:55 UTC (buildkit.dockerfile.v0)

RUN |7 QEMU_ARCH= BUILD_DATE=2026-01-07T16:31:52Z BUILD_VERSION=4.1.3 BUILD_REF= NODE_RED_VERSION=v4.1.3 ARCH= TAG_SUFFIX= /bin/sh -c chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/* # buildkit

2026-01-07 16:34:01 UTC (buildkit.dockerfile.v0)

RUN |7 QEMU_ARCH= BUILD_DATE=2026-01-07T16:31:52Z BUILD_VERSION=4.1.3 BUILD_REF= NODE_RED_VERSION=v4.1.3 ARCH= TAG_SUFFIX= /bin/sh -c npm config set cache /data/.npm --global # buildkit

2026-01-07 16:34:01 UTC (buildkit.dockerfile.v0)

USER node-red

2026-01-07 16:34:01 UTC (buildkit.dockerfile.v0)

ENV NODE_RED_VERSION=v4.1.3 NODE_PATH=/usr/src/node-red/node_modules:/data/node_modules PATH=/usr/src/node-red/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin FLOWS=flows.json

2026-01-07 16:34:01 UTC (buildkit.dockerfile.v0)

EXPOSE [1880/tcp]

2026-01-07 16:34:01 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD-SHELL" "node /healthcheck.js"] "0s" "0s" "0s" "0s" '\x00'}

2026-01-07 16:34:01 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./entrypoint.sh"]

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