Repository navigation
Buildx schduling on non-preffered builders #4132
Description
Contributing guidelines
- I've read the contributing guidelines and wholeheartedly agree
I've found a bug and checked that ...
- ... the documentation does not mention anything about my problem
- ... there are no open or closed issues that are related to my problem
Description
I have a Git Hub Action that builds a collection of NodeJS containers. The Action creates a buildx config that includes 3 builder machines, the fist is the GitHub Host that is running on AMD64, the other 2 are remote Arm64 machines (one Pi 4 ssh port 2023 and one Pi 5 ssh port 2022) that are configured to build the 32bit container on the Pi 4 and 64bit containers on the Pi 5 using the following respective platforms options. (This split is not just about load distribution, but we also had problems with building 32bit Arm images on the Pi 5 in the past)
- platforms: linux/arm/v6, linux/arm/v7
- platforms: linux/arm64
This is configured using the docker/setup-buildx-action GHA
name: Setup Docker buildx
uses: docker/setup-buildx-action@v4.4.1
with:
append: |
- endpoint: ssh://nr@${{ secrets.SSH_REMOTE_HOST }}:2023
platforms: linux/arm/v6,linux/arm/v7
- endpoint: ssh://nr@${{ secrets.SSH_REMOTE_HOST }}:2022
platforms: linux/arm64The output of this setup stage clearly shows the preferences are configured, but also shows that both Pi machines support all 3 linux/arm flavours
"nodes": [
{
"name": "builder-d4b6c41b-2641-479f-a91e-a8bf41cf5dba0",
"endpoint": "unix:///var/run/docker.sock",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
"buildkit": "v0.33.1",
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/amd64/v4,linux/386",
"features": {
"Automatically load images to the Docker Engine image store": true,
"Cache export": true,
"Direct push": true,
"Docker exporter": true,
"Multi-platform build": true,
"OCI exporter": true
},
...
{
"name": "builder-d4b6c41b-2641-479f-a91e-a8bf41cf5dba1",
"endpoint": "ssh://nr@***:2023",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement=network.host",
"buildkit": "v0.33.1",
"platforms": "linux/arm/v6,linux/arm/v7",
"features": {
"Automatically load images to the Docker Engine image store": true,
"Cache export": true,
"Direct push": true,
"Docker exporter": true,
"Multi-platform build": true,
"OCI exporter": true
},
...
{
"name": "builder-d4b6c41b-2641-479f-a91e-a8bf41cf5dba2",
"endpoint": "ssh://nr@***:2022",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement=network.host",
"buildkit": "v0.33.1",
"platforms": "linux/arm64",
"features": {
"Automatically load images to the Docker Engine image store": true,
"Cache export": true,
"Direct push": true,
"Docker exporter": true,
"Multi-platform build": true,
"OCI exporter": true
},
...
When the Action runs to build a multi arch container having been passed platforms=linux/amd64,linux/arm/v7,linux/arm64 both the arm/v7 and the arm64 container are build on the Pi 4 and nothing is scheduled to build on the Pi5.
Expected behaviour
I expect that all 3 builder machines to be untilized to match the configured supported platforms and the linux/arm64 should be built on the correct machine.
Actual behaviour
Both the linux/arm/v7 and the linux/arm64 container are build on the machine that is labelled as linux/arm/v6,linux/arm/v7
Buildx version
github.com/docker/buildx v0.37.2 2d379c0
Docker info
/usr/bin/docker version
Client: Docker Engine - Community
Version: 28.0.4
API version: 1.48
Go version: go1.23.7
Git commit: b8034c0
Built: Tue Mar 25 15:07:16 2025
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 28.0.4
API version: 1.48 (minimum version 1.24)
Go version: go1.23.7
Git commit: 6430e49
Built: Tue Mar 25 15:07:16 2025
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v2.3.6
GitCommit: ee2735368117d2eb259779949d5e75cdafec9761
runc:
Version: 1.5.1
GitCommit: v1.5.1-0-g8f2685a4
docker-init:
Version: 0.19.0
GitCommit: de40ad0
/usr/bin/docker info
Client: Docker Engine - Community
Version: 28.0.4
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.37.2
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.38.2
Path: /usr/libexec/docker/cli-plugins/docker-compose
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 6
Server Version: 28.0.4
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Using metacopy: false
Native Overlay Diff: false
userxattr: false
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: ee2735368117d2eb259779949d5e75cdafec9761
runc version: v1.5.1-0-g8f2685a4
init version: de40ad0
Security Options:
apparmor
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.17.0-1022-azure
Operating System: Ubuntu 24.04.5 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 15.61GiB
Name: runnervmmprz5
ID: 07f0e779-c305-4162-b8ec-c48c30f52fbe
Docker Root Dir: /var/lib/docker
Debug Mode: false
Username: githubactions
Experimental: false
Insecure Registries:
::1/128
127.0.0.0/8
Live Restore Enabled: false
Builders list
{
"nodes": [
{
"name": "builder-d4b6c41b-2641-479f-a91e-a8bf41cf5dba0",
"endpoint": "unix:///var/run/docker.sock",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
"buildkit": "v0.33.1",
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/amd64/v4,linux/386",
"features": {
"Automatically load images to the Docker Engine image store": true,
"Cache export": true,
"Direct push": true,
"Docker exporter": true,
"Multi-platform build": true,
"OCI exporter": true
},
"labels": {
"org.mobyproject.buildkit.worker.executor": "oci",
"org.mobyproject.buildkit.worker.hostname": "de7a4205b934",
"org.mobyproject.buildkit.worker.network": "host",
"org.mobyproject.buildkit.worker.oci.process-mode": "sandbox",
"org.mobyproject.buildkit.worker.selinux.enabled": "false",
"org.mobyproject.buildkit.worker.snapshotter": "overlayfs"
},
"gcPolicy": [
{
"all": false,
"filter": [
"type==source.local type==exec.cachemount type==source.git.checkout"
],
"keepDuration": "48h0m0s",
"maxUsedSpace": "488.3MiB"
},
{
"all": false,
"keepDuration": "1440h0m0s",
"reservedSpace": "9.313GiB",
"maxUsedSpace": "93.13GiB",
"minFreeSpace": "27.01GiB"
},
{
"all": false,
"reservedSpace": "9.313GiB",
"maxUsedSpace": "93.13GiB",
"minFreeSpace": "27.01GiB"
},
{
"all": true,
"reservedSpace": "9.313GiB",
"maxUsedSpace": "93.13GiB",
"minFreeSpace": "27.01GiB"
}
]
},
{
"name": "builder-d4b6c41b-2641-479f-a91e-a8bf41cf5dba1",
"endpoint": "ssh://nr@***:2023",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement=network.host",
"buildkit": "v0.33.1",
"platforms": "linux/arm/v6,linux/arm/v7",
"features": {
"Automatically load images to the Docker Engine image store": true,
"Cache export": true,
"Direct push": true,
"Docker exporter": true,
"Multi-platform build": true,
"OCI exporter": true
},
"labels": {
"org.mobyproject.buildkit.worker.executor": "oci",
"org.mobyproject.buildkit.worker.hostname": "f11e2d5c33f0",
"org.mobyproject.buildkit.worker.network": "host",
"org.mobyproject.buildkit.worker.oci.process-mode": "sandbox",
"org.mobyproject.buildkit.worker.selinux.enabled": "false",
"org.mobyproject.buildkit.worker.snapshotter": "overlayfs"
},
"gcPolicy": [
{
"all": false,
"filter": [
"type==source.local type==exec.cachemount type==source.git.checkout"
],
"keepDuration": "48h0m0s",
"maxUsedSpace": "488.3MiB"
},
{
"all": false,
"keepDuration": "1440h0m0s",
"reservedSpace": "2.794GiB",
"maxUsedSpace": "21.42GiB",
"minFreeSpace": "5.588GiB"
},
{
"all": false,
"reservedSpace": "2.794GiB",
"maxUsedSpace": "21.42GiB",
"minFreeSpace": "5.588GiB"
},
{
"all": true,
"reservedSpace": "2.794GiB",
"maxUsedSpace": "21.42GiB",
"minFreeSpace": "5.588GiB"
}
]
},
{
"name": "builder-d4b6c41b-2641-479f-a91e-a8bf41cf5dba2",
"endpoint": "ssh://nr@***:2022",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement=network.host",
"buildkit": "v0.33.1",
"platforms": "linux/arm64",
"features": {
"Automatically load images to the Docker Engine image store": true,
"Cache export": true,
"Direct push": true,
"Docker exporter": true,
"Multi-platform build": true,
"OCI exporter": true
},
"labels": {
"org.mobyproject.buildkit.worker.executor": "oci",
"org.mobyproject.buildkit.worker.hostname": "f9dd24659160",
"org.mobyproject.buildkit.worker.network": "host",
"org.mobyproject.buildkit.worker.oci.process-mode": "sandbox",
"org.mobyproject.buildkit.worker.selinux.enabled": "false",
"org.mobyproject.buildkit.worker.snapshotter": "overlayfs"
},
"gcPolicy": [
{
"all": false,
"filter": [
"type==source.local type==exec.cachemount type==source.git.checkout"
],
"keepDuration": "48h0m0s",
"maxUsedSpace": "488.3MiB"
},
{
"all": false,
"keepDuration": "1440h0m0s",
"reservedSpace": "9.313GiB",
"maxUsedSpace": "93.13GiB",
"minFreeSpace": "43.77GiB"
},
{
"all": false,
"reservedSpace": "9.313GiB",
"maxUsedSpace": "93.13GiB",
"minFreeSpace": "43.77GiB"
},
{
"all": true,
"reservedSpace": "9.313GiB",
"maxUsedSpace": "93.13GiB",
"minFreeSpace": "43.77GiB"
}
]
}
],
"name": "builder-d4b6c41b-2641-479f-a91e-a8bf41cf5dba",
"driver": "docker-container",
"lastActivity": "2026-10-08T12:51:41.000Z"
}
Configuration
Docker file can be found here:
https://github.com/node-red/node-red-docker/blob/v4.1.x/.docker/Dockerfile.alpine
buildx command:
/usr/bin/docker buildx build --build-arg NODE_VERSION=20 --build-arg BUILD_DATE=2026-10-08T12:52:05Z --build-arg BUILD_VERSION=4.1.16 --build-arg BUILD_REF= --build-arg NODE_RED_VERSION=v4.1.16 --build-arg TAG_SUFFIX= --file .docker/Dockerfile.alpine --iidfile /home/runner/work/_temp/docker-actions-toolkit-xV27sM/build-iidfile-2c2769b40e.txt --platform linux/amd64,linux/arm/v7,linux/arm64 --attest type=provenance,mode=max,builder-id=https://github.com/node-red/node-red-docker/actions/runs/37771205680 --tag nodered/node-red:4.1.16-20 --tag ghcr.io/node-red/node-red:4.1.16-20 --tag nodered/node-red:latest-20 --tag ghcr.io/node-red/node-red:latest-20 --metadata-file /home/runner/work/_temp/docker-actions-toolkit-xV27sM/build-metadata-2b2ffffc18.json --push .
Build logs
#0 building with "builder-d4b6c41b-2641-479f-a91e-a8bf41cf5dba" instance using docker-container driver
#1 [internal] load build definition from Dockerfile.alpine
#1 transferring dockerfile: 3.63kB done
#1 DONE 0.0s
#2 [linux/amd64 internal] load metadata for docker.io/library/node:20-alpine
#2 ...
#3 [auth] library/node:pull token for registry-1.docker.io
#3 DONE 0.0s
#2 [linux/amd64 internal] load metadata for docker.io/library/node:20-alpine
#2 DONE 1.0s
#4 [internal] load .dockerignore
#4 transferring context: 2B done
#4 DONE 0.0s
#5 [linux/amd64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#5 resolve docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 done
#5 DONE 0.0s
#6 [internal] load build context
#6 transferring context: 7.89kB done
#6 DONE 0.0s
#7 [internal] load build definition from Dockerfile.alpine
#7 transferring dockerfile: 3.63kB 0.4s done
#7 DONE 1.0s
#5 [linux/amd64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#5 sha256:fff4e2c1b189bf87d63ad8bd07f7f4eb288d6f2b6a07a8bb44c60e8c075d2096 445B / 445B 0.1s done
#5 sha256:b2cbbfe903b0821005780971ddc5892edcc4ce74c5a48d82e1d2b382edac3122 1.26MB / 1.26MB 0.1s done
#5 sha256:4feea04c154301db6f4a496efa397b3db96603b1c009c797cfdde77bea8b3287 43.23MB / 43.23MB 0.5s
#5 sha256:6a0ac1617861a677b045b7ff88545213ec31c0ff08763195a70a4a5adda577bb 3.86MB / 3.86MB 0.3s done
#5 extracting sha256:6a0ac1617861a677b045b7ff88545213ec31c0ff08763195a70a4a5adda577bb
#5 extracting sha256:6a0ac1617861a677b045b7ff88545213ec31c0ff08763195a70a4a5adda577bb 0.3s done
#5 sha256:4feea04c154301db6f4a496efa397b3db96603b1c009c797cfdde77bea8b3287 43.23MB / 43.23MB 0.8s done
#5 ...
#8 [auth] library/node:pull token for registry-1.docker.io
#8 DONE 0.0s
#5 [linux/amd64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#5 extracting sha256:4feea04c154301db6f4a496efa397b3db96603b1c009c797cfdde77bea8b3287
#5 extracting sha256:4feea04c154301db6f4a496efa397b3db96603b1c009c797cfdde77bea8b3287 0.7s done
#5 DONE 1.5s
#9 [linux/arm/v7 internal] load metadata for docker.io/library/node:20-alpine
#9 ...
#5 [linux/amd64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#5 extracting sha256:b2cbbfe903b0821005780971ddc5892edcc4ce74c5a48d82e1d2b382edac3122 0.0s done
#5 extracting sha256:fff4e2c1b189bf87d63ad8bd07f7f4eb288d6f2b6a07a8bb44c60e8c075d2096 done
#5 DONE 1.5s
#10 [linux/arm64 internal] load metadata for docker.io/library/node:20-alpine
#10 DONE 1.4s
#11 [linux/amd64 base 2/11] COPY .docker/scripts/*.sh /tmp/
#11 ...
#9 [linux/arm/v7 internal] load metadata for docker.io/library/node:20-alpine
#9 DONE 1.5s
#12 [internal] load .dockerignore
#12 transferring context: 2B 0.3s done
#12 DONE 0.3s
#11 [linux/amd64 base 2/11] COPY .docker/scripts/*.sh /tmp/
#11 DONE 0.9s
#13 [linux/amd64 base 3/11] COPY .docker/healthcheck.js /
#13 DONE 0.0s
#14 [linux/amd64 base 4/11] RUN 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
#14 0.040 + apk add --no-cache bash tzdata iputils curl nano git openssl openssh-client ca-certificates
#14 0.407 ( 1/33) Upgrading libcrypto3 (3.5.6-r0 -> 3.5.9-r0)
#14 0.463 ( 2/33) Upgrading libssl3 (3.5.6-r0 -> 3.5.9-r0)
#14 0.476 ( 3/33) Installing ncurses-terminfo-base (6.5_p20251123-r0)
#14 0.489 ( 4/33) Installing libncursesw (6.5_p20251123-r0)
#14 0.500 ( 5/33) Installing readline (8.3.1-r0)
#14 0.511 ( 6/33) Installing bash (5.3.3-r1)
#14 ...
#15 [internal] load build context
#15 DONE 0.0s
#14 [linux/amd64 base 4/11] RUN 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
#14 0.530 Executing bash-5.3.3-r1.post-install
#14 0.533 ( 7/33) Installing ca-certificates (20260909-r0)
#14 0.555 ( 8/33) Installing brotli-libs (1.2.0-r0)
#14 0.570 ( 9/33) Installing c-ares (1.34.8-r0)
#14 0.581 (10/33) Installing libunistring (1.4.1-r0)
#14 0.598 (11/33) Installing libidn2 (2.3.8-r0)
#14 0.609 (12/33) Installing nghttp2-libs (1.69.0-r0)
#14 0.619 (13/33) Installing libpsl (0.21.5-r3)
#14 0.629 (14/33) Installing zstd-libs (1.5.7-r2)
#14 0.643 (15/33) Installing libcurl (8.22.0-r0)
#14 0.657 (16/33) Installing curl (8.22.0-r0)
#14 0.668 (17/33) Installing libexpat (2.8.5-r0)
#14 0.679 (18/33) Installing pcre2 (10.49-r0)
#14 0.692 (19/33) Installing git (2.52.0-r0)
#14 0.748 (20/33) Installing git-init-template (2.52.0-r0)
#14 0.759 (21/33) Installing libcap2 (2.78-r0)
#14 0.769 (22/33) Installing iputils-arping (20250605-r0)
#14 0.779 (23/33) Installing iputils-clockdiff (20250605-r0)
#14 0.789 (24/33) Installing iputils-ping (20250605-r0)
#14 0.799 (25/33) Installing iputils-tracepath (20250605-r0)
#14 0.809 (26/33) Installing iputils (20250605-r0)
#14 0.809 (27/33) Installing nano (8.7-r0)
#14 0.821 (28/33) Installing openssh-keygen (10.2_p1-r0)
#14 0.834 (29/33) Installing libedit (20251016.3.1-r0)
#14 0.844 (30/33) Installing openssh-client-common (10.2_p1-r0)
#14 0.865 (31/33) Installing openssh-client-default (10.2_p1-r0)
#14 0.879 (32/33) Installing openssl (3.5.9-r0)
#14 0.893 (33/33) Installing tzdata (2026e-r0)
#14 0.939 Executing busybox-1.37.0-r30.trigger
#14 0.944 Executing ca-certificates-20260909-r0.trigger
#14 0.971 OK: 31.2 MiB in 49 packages
#14 1.001 + mkdir -p /usr/src/node-red /data
#14 1.002 + deluser --remove-home node
#14 1.007 + adduser -h /usr/src/node-red -D -H node-red -u 1000
#14 1.010 + chown -R node-red:root /data
#14 1.010 + chmod -R g+rwX /data
#14 1.011 + chown -R node-red:root /usr/src/node-red
#14 1.012 + chmod -R g+rwX /usr/src/node-red
#14 DONE 1.2s
#16 [linux/amd64 base 5/11] WORKDIR /usr/src/node-red
#16 DONE 0.0s
#17 [linux/amd64 base 6/11] COPY .docker/known_hosts.sh .
#17 DONE 0.0s
#15 [internal] load build context
#15 transferring context: 7.89kB 0.4s done
#15 DONE 1.4s
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 resolve docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.1s done
#18 DONE 2.4s
#19 [linux/arm/v7 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#19 resolve docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293 0.1s done
#19 DONE 2.6s
#20 [linux/amd64 base 7/11] RUN ./known_hosts.sh /etc/ssh/ssh_known_hosts && rm /usr/src/node-red/known_hosts.sh
#20 DONE 4.9s
#21 [linux/amd64 base 8/11] RUN echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> /etc/ssh/ssh_config
#21 DONE 0.1s
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 sha256:13e45b12880fbbfe3554ecf6b70131ace701d0c2fd3e2fb9abb842ba2494cd40 1.26MB / 1.26MB 0.8s done
#18 sha256:cd322d0ddd02673e6c24a2158d1f12f6ec7c6fd9c0dc67123244d0f0eb0f8806 443B / 443B 1.1s done
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 28.31MB / 43.55MB 2.4s
#18 sha256:d17f077ada118cc762df373ff803592abf2dfa3ddafaa7381e364dd27a88fca7 4.20MB / 4.20MB 1.3s done
#18 extracting sha256:d17f077ada118cc762df373ff803592abf2dfa3ddafaa7381e364dd27a88fca7
#18 ...
#22 [linux/amd64 base 9/11] COPY package.json .
#22 DONE 0.0s
#23 [linux/amd64 base 10/11] COPY flows.json /data
#23 DONE 0.0s
#24 [linux/amd64 base 11/11] COPY .docker/scripts/entrypoint.sh .
#24 DONE 0.0s
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 31.46MB / 43.55MB 2.7s
#18 extracting sha256:d17f077ada118cc762df373ff803592abf2dfa3ddafaa7381e364dd27a88fca7 0.5s done
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 34.60MB / 43.55MB 3.2s
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 37.75MB / 43.55MB 3.6s
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 40.89MB / 43.55MB 3.9s
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 43.55MB / 43.55MB 4.4s
#18 ...
#19 [linux/arm/v7 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#19 sha256:ebe460b543520a6bfb0d3cf8dcee019390043a79552381326e7ccaf7f3b0aea4 443B / 443B 0.8s done
#19 sha256:b3a7d21784cc3e66fe10cb0325264167ea857088afb64793c85209fa9219e743 1.26MB / 1.26MB 1.1s done
#19 sha256:b5528065c59af25f567f93e4aa72c7f91dcacc83b28dca7a4d2b60ce93aff483 41.16MB / 41.16MB 7.8s
#19 sha256:c160e404c59d6d30c66a0d74bbd17337f178f5d898a9908e18c71ce3bbe28c99 3.28MB / 3.28MB 1.4s done
#19 extracting sha256:c160e404c59d6d30c66a0d74bbd17337f178f5d898a9908e18c71ce3bbe28c99
#19 ...
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 43.55MB / 43.55MB 9.9s
#18 ...
#25 [linux/amd64 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#25 0.389 ( 1/36) Installing jansson (2.14.1-r0)
#25 0.399 ( 2/36) Installing binutils (2.45.1-r0)
#25 0.478 ( 3/36) Installing libmagic (5.46-r2)
#25 0.503 ( 4/36) Installing file (5.46-r2)
#25 0.512 ( 5/36) Installing libgomp (15.2.0-r2)
#25 0.523 ( 6/36) Installing libatomic (15.2.0-r2)
#25 0.532 ( 7/36) Installing gmp (6.3.0-r4)
#25 0.544 ( 8/36) Installing isl26 (0.26-r1)
#25 0.563 ( 9/36) Installing mpfr4 (4.2.2-r0)
#25 0.576 (10/36) Installing mpc1 (1.3.1-r1)
#25 0.586 (11/36) Installing gcc (15.2.0-r2)
#25 1.320 (12/36) Installing libstdc++-dev (15.2.0-r2)
#25 1.444 (13/36) Installing musl-dev (1.2.5-r23)
#25 1.499 (14/36) Installing g++ (15.2.0-r2)
#25 1.704 (15/36) Installing make (4.4.1-r3)
#25 1.715 (16/36) Installing fortify-headers (1.1-r5)
#25 1.724 (17/36) Installing patch (2.8-r0)
#25 1.734 (18/36) Installing build-base (0.5-r3)
#25 1.734 (19/36) Installing linux-headers (6.16.12-r0)
#25 1.831 (20/36) Installing udev-init-scripts (35-r1)
#25 1.831 (21/36) Installing libeconf (0.8.3-r0)
#25 1.840 (22/36) Installing libblkid (2.41.6-r1)
#25 1.850 (23/36) Installing xz-libs (5.8.4-r0)
#25 1.861 (24/36) Installing kmod-libs (34.2-r1)
#25 1.871 (25/36) Installing eudev (3.2.14-r6)
#25 1.888 (26/36) Installing libbz2 (1.0.8-r6)
#25 1.897 (27/36) Installing libffi (3.5.2-r0)
#25 1.906 (28/36) Installing gdbm (1.26-r0)
#25 1.916 (29/36) Installing mpdecimal (4.0.1-r0)
#25 1.926 (30/36) Installing libpanelw (6.5_p20251123-r0)
#25 1.935 (31/36) Installing sqlite-libs (3.53.4-r0)
#25 1.954 (32/36) Installing python3 (3.12.15-r0)
#25 2.103 (33/36) Installing python3-pycache-pyc0 (3.12.15-r0)
#25 2.205 (34/36) Installing pyc (3.12.15-r0)
#25 2.205 (35/36) Installing python3-pyc (3.12.15-r0)
#25 2.205 (36/36) Installing buildtools (20261008.125233)
#25 2.205 Executing busybox-1.37.0-r30.trigger
#25 2.211 Executing eudev-3.2.14-r6.trigger
#25 2.216 OK: 337.1 MiB in 85 packages
#25 2.367 npm warn config only Use `--omit=dev` to omit dev dependencies from the install.
#25 ...
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 43.55MB / 43.55MB 15.3s
#18 ...
#25 [linux/amd64 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#25 13.12
#25 13.12 added 275 packages in 11s
#25 13.14 + [[ -d /usr/src/node-red/node_modules/@node-red/nodes/core/hardware ]]
#25 13.14 + echo 'Skip removing native GPIO node'
#25 13.14 Skip removing native GPIO node
#25 DONE 15.9s
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 43.55MB / 43.55MB 18.5s done
#18 extracting sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d
#18 ...
#19 [linux/arm/v7 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#19 sha256:b5528065c59af25f567f93e4aa72c7f91dcacc83b28dca7a4d2b60ce93aff483 41.16MB / 41.16MB 17.0s done
#19 extracting sha256:c160e404c59d6d30c66a0d74bbd17337f178f5d898a9908e18c71ce3bbe28c99 14.7s done
#19 extracting sha256:b5528065c59af25f567f93e4aa72c7f91dcacc83b28dca7a4d2b60ce93aff483
#19 ...
#26 [linux/amd64 release 1/3] COPY --from=build /usr/src/node-red/prod_node_modules ./node_modules
#26 DONE 1.6s
#19 [linux/arm/v7 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#19 ...
#27 [linux/amd64 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#27 4.742 Installing devtools
#27 4.742 + [[ '' != *minimal ]]
#27 4.742 + echo 'Installing devtools'
#27 4.742 + apk add --no-cache --virtual devtools build-base linux-headers udev python3
#27 5.035 ( 1/36) Installing jansson (2.14.1-r0)
#27 5.038 ( 2/36) Installing binutils (2.45.1-r0)
#27 5.096 ( 3/36) Installing libmagic (5.46-r2)
#27 5.115 ( 4/36) Installing file (5.46-r2)
#27 5.117 ( 5/36) Installing libgomp (15.2.0-r2)
#27 5.122 ( 6/36) Installing libatomic (15.2.0-r2)
#27 5.124 ( 7/36) Installing gmp (6.3.0-r4)
#27 5.131 ( 8/36) Installing isl26 (0.26-r1)
#27 5.147 ( 9/36) Installing mpfr4 (4.2.2-r0)
#27 5.154 (10/36) Installing mpc1 (1.3.1-r1)
#27 5.157 (11/36) Installing gcc (15.2.0-r2)
#27 5.870 (12/36) Installing libstdc++-dev (15.2.0-r2)
#27 5.988 (13/36) Installing musl-dev (1.2.5-r23)
#27 6.035 (14/36) Installing g++ (15.2.0-r2)
#27 6.233 (15/36) Installing make (4.4.1-r3)
#27 6.237 (16/36) Installing fortify-headers (1.1-r5)
#27 6.240 (17/36) Installing patch (2.8-r0)
#27 6.243 (18/36) Installing build-base (0.5-r3)
#27 6.243 (19/36) Installing linux-headers (6.16.12-r0)
#27 6.331 (20/36) Installing udev-init-scripts (35-r1)
#27 6.331 (21/36) Installing libeconf (0.8.3-r0)
#27 6.334 (22/36) Installing libblkid (2.41.6-r1)
#27 6.339 (23/36) Installing xz-libs (5.8.4-r0)
#27 6.343 (24/36) Installing kmod-libs (34.2-r1)
#27 6.347 (25/36) Installing eudev (3.2.14-r6)
#27 6.358 (26/36) Installing libbz2 (1.0.8-r6)
#27 6.361 (27/36) Installing libffi (3.5.2-r0)
#27 6.364 (28/36) Installing gdbm (1.26-r0)
#27 6.366 (29/36) Installing mpdecimal (4.0.1-r0)
#27 6.370 (30/36) Installing libpanelw (6.5_p20251123-r0)
#27 6.372 (31/36) Installing sqlite-libs (3.53.4-r0)
#27 6.385 (32/36) Installing python3 (3.12.15-r0)
#27 6.532 (33/36) Installing python3-pycache-pyc0 (3.12.15-r0)
#27 6.622 (34/36) Installing pyc (3.12.15-r0)
#27 6.622 (35/36) Installing python3-pyc (3.12.15-r0)
#27 6.622 (36/36) Installing devtools (20261008.125255)
#27 6.622 Executing busybox-1.37.0-r30.trigger
#27 6.627 Executing eudev-3.2.14-r6.trigger
#27 6.632 OK: 337.1 MiB in 85 packages
#27 DONE 8.4s
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 ...
#28 [linux/amd64 release 3/3] RUN npm config set cache /data/.npm --global
#28 DONE 0.5s
#19 [linux/arm/v7 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#19 ...
#29 exporting to image
#29 exporting layers
#29 ...
#19 [linux/arm/v7 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#19 extracting sha256:b5528065c59af25f567f93e4aa72c7f91dcacc83b28dca7a4d2b60ce93aff483 21.1s done
#19 DONE 42.5s
#19 [linux/arm/v7 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#19 extracting sha256:b3a7d21784cc3e66fe10cb0325264167ea857088afb64793c85209fa9219e743
#19 ...
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 extracting sha256:bda5d7ef971f8ede8ea80002d2ac886ef6807fe32cfe46c38704a7ba0429475d 21.3s done
#18 DONE 42.5s
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 extracting sha256:13e45b12880fbbfe3554ecf6b70131ace701d0c2fd3e2fb9abb842ba2494cd40
#18 ...
#30 [auth] nodered/node-red:pull,push token for registry-1.docker.io
#30 DONE 0.0s
#29 exporting to image
#29 exporting layers 13.0s done
#29 exporting manifest sha256:85c7af0be29f7d777ab65c28e713f2842ddebb7b865caf04403610d9f4373326 done
#29 exporting config sha256:b9558cd6a308e5e557e4e5fe31841e72f02c9e7735d654a6d653ff2d7d48cd79 done
#29 exporting attestation manifest sha256:b413ad047e5fa1a6b215d3acc74c0d61cfc738411add3477047bc88d839e49a1 done
#29 exporting manifest list sha256:3d07fe0bfe5d3df0e88a61160017bd3569b48711f44f113ef22a3a0186e14a37 done
#29 pushing layers
#29 pushing layers 6.8s done
#29 pushing manifest for docker.io/nodered/node-red
#29 pushing manifest for docker.io/nodered/node-red 1.4s done
#29 ...
#31 [auth] node-red/node-red:pull,push token for ghcr.io
#31 DONE 0.0s
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 extracting sha256:13e45b12880fbbfe3554ecf6b70131ace701d0c2fd3e2fb9abb842ba2494cd40 11.2s done
#18 extracting sha256:cd322d0ddd02673e6c24a2158d1f12f6ec7c6fd9c0dc67123244d0f0eb0f8806
#18 ...
#19 [linux/arm/v7 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#19 extracting sha256:b3a7d21784cc3e66fe10cb0325264167ea857088afb64793c85209fa9219e743 4.8s done
#19 extracting sha256:ebe460b543520a6bfb0d3cf8dcee019390043a79552381326e7ccaf7f3b0aea4
#19 extracting sha256:ebe460b543520a6bfb0d3cf8dcee019390043a79552381326e7ccaf7f3b0aea4 10.8s done
#19 DONE 58.1s
#18 [linux/arm64 base 1/11] FROM docker.io/library/node:20-alpine@sha256:fb4cd12c85ee03686f6af5362a0b0d56d50c58a04632e6c0fb8363f609372293
#18 extracting sha256:cd322d0ddd02673e6c24a2158d1f12f6ec7c6fd9c0dc67123244d0f0eb0f8806 4.7s done
#18 DONE 58.4s
#32 [linux/arm/v7 base 2/11] COPY .docker/scripts/*.sh /tmp/
#32 ...
#29 exporting to image
#29 pushing layers 6.6s done
#29 pushing manifest for ghcr.io/node-red/node-red 1.6s done
#29 DONE 29.4s
#33 resolving provenance for metadata file
#33 DONE 0.0s
#34 [linux/arm64 base 2/11] COPY .docker/scripts/*.sh /tmp/
#34 ...
#32 [linux/arm/v7 base 2/11] COPY .docker/scripts/*.sh /tmp/
#32 DONE 21.1s
#34 [linux/arm64 base 2/11] COPY .docker/scripts/*.sh /tmp/
#34 DONE 20.5s
#35 [linux/arm64 base 3/11] COPY .docker/healthcheck.js /
#35 ...
#36 [linux/arm/v7 base 3/11] COPY .docker/healthcheck.js /
#36 DONE 0.7s
#35 [linux/arm64 base 3/11] COPY .docker/healthcheck.js /
#35 DONE 0.8s
#37 [linux/arm64 base 4/11] RUN 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
#37 0.270 + apk add --no-cache bash tzdata iputils curl nano git openssl openssh-client ca-certificates
#37 1.919 ( 1/33) Upgrading libcrypto3 (3.5.6-r0 -> 3.5.9-r0)
#37 2.111 ( 2/33) Upgrading libssl3 (3.5.6-r0 -> 3.5.9-r0)
#37 2.148 ( 3/33) Installing ncurses-terminfo-base (6.5_p20251123-r0)
#37 2.169 ( 4/33) Installing libncursesw (6.5_p20251123-r0)
#37 2.201 ( 5/33) Installing readline (8.3.1-r0)
#37 2.224 ( 6/33) Installing bash (5.3.3-r1)
#37 2.302 Executing bash-5.3.3-r1.post-install
#37 2.313 ( 7/33) Installing ca-certificates (20260909-r0)
#37 2.363 ( 8/33) Installing brotli-libs (1.2.0-r0)
#37 2.432 ( 9/33) Installing c-ares (1.34.8-r0)
#37 2.453 (10/33) Installing libunistring (1.4.1-r0)
#37 2.520 (11/33) Installing libidn2 (2.3.8-r0)
#37 2.541 (12/33) Installing nghttp2-libs (1.69.0-r0)
#37 2.558 (13/33) Installing libpsl (0.21.5-r3)
#37 2.574 (14/33) Installing zstd-libs (1.5.7-r2)
#37 2.616 (15/33) Installing libcurl (8.22.0-r0)
#37 2.653 (16/33) Installing curl (8.22.0-r0)
#37 2.678 (17/33) Installing libexpat (2.8.5-r0)
#37 2.700 (18/33) Installing pcre2 (10.49-r0)
#37 2.749 (19/33) Installing git (2.52.0-r0)
#37 3.093 (20/33) Installing git-init-template (2.52.0-r0)
#37 3.110 (21/33) Installing libcap2 (2.78-r0)
#37 3.125 (22/33) Installing iputils-arping (20250605-r0)
#37 3.136 (23/33) Installing iputils-clockdiff (20250605-r0)
#37 3.147 (24/33) Installing iputils-ping (20250605-r0)
#37 3.160 (25/33) Installing iputils-tracepath (20250605-r0)
#37 3.176 (26/33) Installing iputils (20250605-r0)
#37 3.176 (27/33) Installing nano (8.7-r0)
#37 3.205 (28/33) Installing openssh-keygen (10.2_p1-r0)
#37 3.236 (29/33) Installing libedit (20251016.3.1-r0)
#37 3.260 (30/33) Installing openssh-client-common (10.2_p1-r0)
#37 3.347 (31/33) Installing openssh-client-default (10.2_p1-r0)
#37 3.383 (32/33) Installing openssl (3.5.9-r0)
#37 3.417 (33/33) Installing tzdata (2026e-r0)
#37 3.553 Executing busybox-1.37.0-r30.trigger
#37 3.572 Executing ca-certificates-20260909-r0.trigger
#37 3.837 OK: 34.8 MiB in 49 packages
#37 3.930 + mkdir -p /usr/src/node-red /data
#37 3.933 + deluser --remove-home node
#37 7.839 + adduser -h /usr/src/node-red -D -H node-red -u 1000
#37 ...
#38 [linux/arm/v7 base 4/11] RUN 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
#38 0.292 + apk add --no-cache bash tzdata iputils curl nano git openssl openssh-client ca-certificates
#38 1.892 ( 1/33) Upgrading libcrypto3 (3.5.6-r0 -> 3.5.9-r0)
#38 2.028 ( 2/33) Upgrading libssl3 (3.5.6-r0 -> 3.5.9-r0)
#38 2.096 ( 3/33) Installing ncurses-terminfo-base (6.5_p20251123-r0)
#38 2.127 ( 4/33) Installing libncursesw (6.5_p20251123-r0)
#38 2.153 ( 5/33) Installing readline (8.3.1-r0)
#38 2.182 ( 6/33) Installing bash (5.3.3-r1)
#38 2.241 Executing bash-5.3.3-r1.post-install
#38 2.250 ( 7/33) Installing ca-certificates (20260909-r0)
#38 2.321 ( 8/33) Installing brotli-libs (1.2.0-r0)
#38 2.363 ( 9/33) Installing c-ares (1.34.8-r0)
#38 2.381 (10/33) Installing libunistring (1.4.1-r0)
#38 2.458 (11/33) Installing libidn2 (2.3.8-r0)
#38 2.476 (12/33) Installing nghttp2-libs (1.69.0-r0)
#38 2.492 (13/33) Installing libpsl (0.21.5-r3)
#38 2.512 (14/33) Installing zstd-libs (1.5.7-r2)
#38 2.559 (15/33) Installing libcurl (8.22.0-r0)
#38 2.605 (16/33) Installing curl (8.22.0-r0)
#38 2.643 (17/33) Installing libexpat (2.8.5-r0)
#38 2.659 (18/33) Installing pcre2 (10.49-r0)
#38 2.698 (19/33) Installing git (2.52.0-r0)
#38 3.035 (20/33) Installing git-init-template (2.52.0-r0)
#38 3.050 (21/33) Installing libcap2 (2.78-r0)
#38 3.068 (22/33) Installing iputils-arping (20250605-r0)
#38 3.082 (23/33) Installing iputils-clockdiff (20250605-r0)
#38 3.093 (24/33) Installing iputils-ping (20250605-r0)
#38 3.106 (25/33) Installing iputils-tracepath (20250605-r0)
#38 3.117 (26/33) Installing iputils (20250605-r0)
#38 3.117 (27/33) Installing nano (8.7-r0)
#38 3.143 (28/33) Installing openssh-keygen (10.2_p1-r0)
#38 3.170 (29/33) Installing libedit (20251016.3.1-r0)
#38 3.187 (30/33) Installing openssh-client-common (10.2_p1-r0)
#38 3.259 (31/33) Installing openssh-client-default (10.2_p1-r0)
#38 3.297 (32/33) Installing openssl (3.5.9-r0)
#38 3.350 (33/33) Installing tzdata (2026e-r0)
#38 3.492 Executing busybox-1.37.0-r30.trigger
#38 3.508 Executing ca-certificates-20260909-r0.trigger
#38 3.619 OK: 22.8 MiB in 49 packages
#38 3.690 + mkdir -p /usr/src/node-red /data
#38 3.693 + deluser --remove-home node
#38 3.869 + adduser -h /usr/src/node-red -D -H node-red -u 1000
#38 3.903 + chown -R node-red:root /data
#38 3.909 + chmod -R g+rwX /data
#38 3.911 + chown -R node-red:root /usr/src/node-red
#38 3.914 + chmod -R g+rwX /usr/src/node-red
#38 ...
#37 [linux/arm64 base 4/11] RUN 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
#37 11.56 + chown -R node-red:root /data
#37 ...
#38 [linux/arm/v7 base 4/11] RUN 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
#38 DONE 11.7s
#37 [linux/arm64 base 4/11] RUN 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
#37 11.56 + chmod -R g+rwX /data
#37 11.57 + chown -R node-red:root /usr/src/node-red
#37 11.57 + chmod -R g+rwX /usr/src/node-red
#37 DONE 12.2s
#39 [linux/arm/v7 base 5/11] WORKDIR /usr/src/node-red
#39 DONE 1.1s
#40 [linux/arm64 base 5/11] WORKDIR /usr/src/node-red
#40 DONE 0.6s
#41 [linux/arm64 base 6/11] COPY .docker/known_hosts.sh .
#41 ...
#42 [linux/arm/v7 base 6/11] COPY .docker/known_hosts.sh .
#42 DONE 1.0s
#41 [linux/arm64 base 6/11] COPY .docker/known_hosts.sh .
#41 DONE 1.0s
#43 [linux/arm64 base 7/11] RUN ./known_hosts.sh /etc/ssh/ssh_known_hosts && rm /usr/src/node-red/known_hosts.sh
#43 ...
#44 [linux/arm/v7 base 7/11] RUN ./known_hosts.sh /etc/ssh/ssh_known_hosts && rm /usr/src/node-red/known_hosts.sh
#44 DONE 5.7s
#43 [linux/arm64 base 7/11] RUN ./known_hosts.sh /etc/ssh/ssh_known_hosts && rm /usr/src/node-red/known_hosts.sh
#43 DONE 5.8s
#45 [linux/arm64 base 8/11] RUN echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> /etc/ssh/ssh_config
#45 DONE 0.3s
#46 [linux/arm/v7 base 8/11] RUN echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> /etc/ssh/ssh_config
#46 DONE 0.4s
#47 [linux/arm/v7 base 9/11] COPY package.json .
#47 ...
#48 [linux/arm64 base 9/11] COPY package.json .
#48 DONE 0.2s
#47 [linux/arm/v7 base 9/11] COPY package.json .
#47 DONE 0.2s
#49 [linux/arm/v7 base 10/11] COPY flows.json /data
#49 ...
#50 [linux/arm64 base 10/11] COPY flows.json /data
#50 DONE 0.2s
#49 [linux/arm/v7 base 10/11] COPY flows.json /data
#49 DONE 0.2s
#51 [linux/arm64 base 11/11] COPY .docker/scripts/entrypoint.sh .
#51 ...
#52 [linux/arm/v7 base 11/11] COPY .docker/scripts/entrypoint.sh .
#52 DONE 1.0s
#51 [linux/arm64 base 11/11] COPY .docker/scripts/entrypoint.sh .
#51 DONE 1.0s
#53 [linux/arm64 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#53 1.682 ( 1/36) Installing jansson (2.14.1-r0)
#53 1.699 ( 2/36) Installing binutils (2.45.1-r0)
#53 2.150 ( 3/36) Installing libmagic (5.46-r2)
#53 2.250 ( 4/36) Installing file (5.46-r2)
#53 2.262 ( 5/36) Installing libgomp (15.2.0-r2)
#53 2.285 ( 6/36) Installing libatomic (15.2.0-r2)
#53 2.297 ( 7/36) Installing gmp (6.3.0-r4)
#53 2.326 ( 8/36) Installing isl26 (0.26-r1)
#53 2.395 ( 9/36) Installing mpfr4 (4.2.2-r0)
#53 2.430 (10/36) Installing mpc1 (1.3.1-r1)
#53 2.446 (11/36) Installing gcc (15.2.0-r2)
#53 7.979 (12/36) Installing libstdc++-dev (15.2.0-r2)
#53 8.487 (13/36) Installing musl-dev (1.2.5-r23)
#53 8.729 (14/36) Installing g++ (15.2.0-r2)
#53 ...
#54 [linux/arm/v7 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#54 2.280 ( 1/36) Installing jansson (2.14.1-r0)
#54 2.308 ( 2/36) Installing binutils (2.45.1-r0)
#54 3.162 ( 3/36) Installing libmagic (5.46-r2)
#54 3.383 ( 4/36) Installing file (5.46-r2)
#54 3.415 ( 5/36) Installing libgomp (15.2.0-r2)
#54 3.489 ( 6/36) Installing libatomic (15.2.0-r2)
#54 3.519 ( 7/36) Installing gmp (6.3.0-r4)
#54 3.604 ( 8/36) Installing isl26 (0.26-r1)
#54 3.839 ( 9/36) Installing mpfr4 (4.2.2-r0)
#54 3.902 (10/36) Installing mpc1 (1.3.1-r1)
#54 3.937 (11/36) Installing gcc (15.2.0-r2)
#54 ...
#53 [linux/arm64 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#53 28.20 (15/36) Installing make (4.4.1-r3)
#53 28.24 (16/36) Installing fortify-headers (1.1-r5)
#53 28.27 (17/36) Installing patch (2.8-r0)
#53 28.29 (18/36) Installing build-base (0.5-r3)
#53 28.29 (19/36) Installing linux-headers (6.16.12-r0)
#53 29.49 (20/36) Installing udev-init-scripts (35-r1)
#53 29.49 (21/36) Installing libeconf (0.8.3-r0)
#53 29.50 (22/36) Installing libblkid (2.41.6-r1)
#53 29.52 (23/36) Installing xz-libs (5.8.4-r0)
#53 29.54 (24/36) Installing kmod-libs (34.2-r1)
#53 29.55 (25/36) Installing eudev (3.2.14-r6)
#53 29.84 (26/36) Installing libbz2 (1.0.8-r6)
#53 29.86 (27/36) Installing libffi (3.5.2-r0)
#53 29.87 (28/36) Installing gdbm (1.26-r0)
#53 29.88 (29/36) Installing mpdecimal (4.0.1-r0)
#53 29.95 (30/36) Installing libpanelw (6.5_p20251123-r0)
#53 29.96 (31/36) Installing sqlite-libs (3.53.4-r0)
#53 30.29 (32/36) Installing python3 (3.12.15-r0)
#53 ...
#54 [linux/arm/v7 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#54 34.16 (12/36) Installing libstdc++-dev (15.2.0-r2)
#54 ...
#53 [linux/arm64 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#53 53.51 (33/36) Installing python3-pycache-pyc0 (3.12.15-r0)
#53 55.34 (34/36) Installing pyc (3.12.15-r0)
#53 55.34 (35/36) Installing python3-pyc (3.12.15-r0)
#53 55.34 (36/36) Installing buildtools (20261008.125410)
#53 55.34 Executing busybox-1.37.0-r30.trigger
#53 55.37 Executing eudev-3.2.14-r6.trigger
#53 55.39 OK: 315.3 MiB in 85 packages
#53 55.97 npm warn config only Use `--omit=dev` to omit dev dependencies from the install.
#53 ...
#54 [linux/arm/v7 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#54 53.54 (13/36) Installing musl-dev (1.2.5-r23)
#54 55.01 (14/36) Installing g++ (15.2.0-r2)
#54 58.94 (15/36) Installing make (4.4.1-r3)
#54 58.96 (16/36) Installing fortify-headers (1.1-r5)
#54 58.98 (17/36) Installing patch (2.8-r0)
#54 59.00 (18/36) Installing build-base (0.5-r3)
#54 59.00 (19/36) Installing linux-headers (6.16.12-r0)
#54 60.40 (20/36) Installing udev-init-scripts (35-r1)
#54 60.40 (21/36) Installing libeconf (0.8.3-r0)
#54 60.41 (22/36) Installing libblkid (2.41.6-r1)
#54 60.43 (23/36) Installing xz-libs (5.8.4-r0)
#54 60.45 (24/36) Installing kmod-libs (34.2-r1)
#54 60.47 (25/36) Installing eudev (3.2.14-r6)
#54 60.61 (26/36) Installing libbz2 (1.0.8-r6)
#54 60.63 (27/36) Installing libffi (3.5.2-r0)
#54 60.64 (28/36) Installing gdbm (1.26-r0)
#54 60.65 (29/36) Installing mpdecimal (4.0.1-r0)
#54 60.67 (30/36) Installing libpanelw (6.5_p20251123-r0)
#54 60.68 (31/36) Installing sqlite-libs (3.53.4-r0)
#54 60.91 (32/36) Installing python3 (3.12.15-r0)
#54 74.46 (33/36) Installing python3-pycache-pyc0 (3.12.15-r0)
#54 78.19 (34/36) Installing pyc (3.12.15-r0)
#54 78.19 (35/36) Installing python3-pyc (3.12.15-r0)
#54 78.19 (36/36) Installing buildtools (20261008.125411)
#54 78.19 Executing busybox-1.37.0-r30.trigger
#54 78.21 Executing eudev-3.2.14-r6.trigger
#54 78.22 OK: 214.4 MiB in 85 packages
#54 78.92 npm warn config only Use `--omit=dev` to omit dev dependencies from the install.
#54 ...
#53 [linux/arm64 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#53 167.8
#53 167.8 added 275 packages in 2m
#53 172.0 + [[ -d /usr/src/node-red/node_modules/@node-red/nodes/core/hardware ]]
#53 172.0 + echo 'Skip removing native GPIO node'
#53 172.0 Skip removing native GPIO node
#53 ...
#54 [linux/arm/v7 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#54 191.4
#54 191.4 added 275 packages in 2m
#54 194.7 Skip removing native GPIO node
#54 194.7 + [[ -d /usr/src/node-red/node_modules/@node-red/nodes/core/hardware ]]
#54 194.7 + echo 'Skip removing native GPIO node'
#54 DONE 285.3s
#53 [linux/arm64 build 1/1] RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && /tmp/remove_native_gpio.sh && cp -R node_modules prod_node_modules
#53 DONE 301.5s
#55 [linux/arm/v7 release 1/3] COPY --from=build /usr/src/node-red/prod_node_modules ./node_modules
#55 ...
#56 [linux/arm64 release 1/3] COPY --from=build /usr/src/node-red/prod_node_modules ./node_modules
#56 DONE 62.1s
#55 [linux/arm/v7 release 1/3] COPY --from=build /usr/src/node-red/prod_node_modules ./node_modules
#55 DONE 64.6s
#57 [linux/arm/v7 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#57 ...
#58 [linux/arm64 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#58 199.0 + [[ '' != *minimal ]]
#58 199.0 + echo 'Installing devtools'
#58 199.0 + apk add --no-cache --virtual devtools build-base linux-headers udev python3
#58 199.0 Installing devtools
#58 200.7 ( 1/36) Installing jansson (2.14.1-r0)
#58 200.7 ( 2/36) Installing binutils (2.45.1-r0)
#58 ...
#57 [linux/arm/v7 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#57 200.7 + [[ '' != *minimal ]]
#57 200.7 + echo 'Installing devtools'
#57 200.7 Installing devtools
#57 200.7 + apk add --no-cache --virtual devtools build-base linux-headers udev python3
#57 202.5 ( 1/36) Installing jansson (2.14.1-r0)
#57 202.5 ( 2/36) Installing binutils (2.45.1-r0)
#57 202.8 ( 3/36) Installing libmagic (5.46-r2)
#57 202.9 ( 4/36) Installing file (5.46-r2)
#57 203.0 ( 5/36) Installing libgomp (15.2.0-r2)
#57 203.0 ( 6/36) Installing libatomic (15.2.0-r2)
#57 203.0 ( 7/36) Installing gmp (6.3.0-r4)
#57 203.1 ( 8/36) Installing isl26 (0.26-r1)
#57 203.1 ( 9/36) Installing mpfr4 (4.2.2-r0)
#57 203.2 (10/36) Installing mpc1 (1.3.1-r1)
#57 203.2 (11/36) Installing gcc (15.2.0-r2)
#57 209.8 (12/36) Installing libstdc++-dev (15.2.0-r2)
#57 ...
#58 [linux/arm64 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#58 201.0 ( 3/36) Installing libmagic (5.46-r2)
#58 201.3 ( 4/36) Installing file (5.46-r2)
#58 201.4 ( 5/36) Installing libgomp (15.2.0-r2)
#58 201.4 ( 6/36) Installing libatomic (15.2.0-r2)
#58 201.4 ( 7/36) Installing gmp (6.3.0-r4)
#58 201.4 ( 8/36) Installing isl26 (0.26-r1)
#58 201.5 ( 9/36) Installing mpfr4 (4.2.2-r0)
#58 201.6 (10/36) Installing mpc1 (1.3.1-r1)
#58 201.6 (11/36) Installing gcc (15.2.0-r2)
#58 208.1 (12/36) Installing libstdc++-dev (15.2.0-r2)
#58 213.0 (13/36) Installing musl-dev (1.2.5-r23)
#58 ...
#57 [linux/arm/v7 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#57 214.6 (13/36) Installing musl-dev (1.2.5-r23)
#57 216.9 (14/36) Installing g++ (15.2.0-r2)
#57 ...
#58 [linux/arm64 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#58 215.8 (14/36) Installing g++ (15.2.0-r2)
#58 ...
#57 [linux/arm/v7 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#57 261.3 (15/36) Installing make (4.4.1-r3)
#57 261.3 (16/36) Installing fortify-headers (1.1-r5)
#57 261.3 (17/36) Installing patch (2.8-r0)
#57 261.3 (18/36) Installing build-base (0.5-r3)
#57 261.3 (19/36) Installing linux-headers (6.16.12-r0)
#57 ...
#58 [linux/arm64 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#58 266.2 (15/36) Installing make (4.4.1-r3)
#58 266.6 (16/36) Installing fortify-headers (1.1-r5)
#58 266.6 (17/36) Installing patch (2.8-r0)
#58 266.7 (18/36) Installing build-base (0.5-r3)
#58 266.7 (19/36) Installing linux-headers (6.16.12-r0)
#58 ...
#57 [linux/arm/v7 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#57 271.3 (20/36) Installing udev-init-scripts (35-r1)
#57 271.3 (21/36) Installing libeconf (0.8.3-r0)
#57 271.3 (22/36) Installing libblkid (2.41.6-r1)
#57 271.5 (23/36) Installing xz-libs (5.8.4-r0)
#57 271.6 (24/36) Installing kmod-libs (34.2-r1)
#57 271.6 (25/36) Installing eudev (3.2.14-r6)
#57 272.1 (26/36) Installing libbz2 (1.0.8-r6)
#57 272.1 (27/36) Installing libffi (3.5.2-r0)
#57 272.1 (28/36) Installing gdbm (1.26-r0)
#57 272.1 (29/36) Installing mpdecimal (4.0.1-r0)
#57 272.3 (30/36) Installing libpanelw (6.5_p20251123-r0)
#57 272.3 (31/36) Installing sqlite-libs (3.53.4-r0)
#57 276.7 (32/36) Installing python3 (3.12.15-r0)
#57 ...
#58 [linux/arm64 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#58 281.3 (20/36) Installing udev-init-scripts (35-r1)
#58 281.3 (21/36) Installing libeconf (0.8.3-r0)
#58 281.4 (22/36) Installing libblkid (2.41.6-r1)
#58 281.6 (23/36) Installing xz-libs (5.8.4-r0)
#58 281.8 (24/36) Installing kmod-libs (34.2-r1)
#58 281.9 (25/36) Installing eudev (3.2.14-r6)
#58 285.1 (26/36) Installing libbz2 (1.0.8-r6)
#58 285.2 (27/36) Installing libffi (3.5.2-r0)
#58 285.2 (28/36) Installing gdbm (1.26-r0)
#58 285.3 (29/36) Installing mpdecimal (4.0.1-r0)
#58 285.6 (30/36) Installing libpanelw (6.5_p20251123-r0)
#58 285.6 (31/36) Installing sqlite-libs (3.53.4-r0)
#58 287.0 (32/36) Installing python3 (3.12.15-r0)
#58 ...
#57 [linux/arm/v7 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#57 307.2 (33/36) Installing python3-pycache-pyc0 (3.12.15-r0)
#57 326.5 (34/36) Installing pyc (3.12.15-r0)
#57 326.5 (35/36) Installing python3-pyc (3.12.15-r0)
#57 326.5 (36/36) Installing devtools (20261008.130341)
#57 326.5 Executing busybox-1.37.0-r30.trigger
#57 326.5 Executing eudev-3.2.14-r6.trigger
#57 326.7 OK: 214.4 MiB in 85 packages
#57 ...
#58 [linux/arm64 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#58 329.0 (33/36) Installing python3-pycache-pyc0 (3.12.15-r0)
#58 335.8 (34/36) Installing pyc (3.12.15-r0)
#58 335.8 (35/36) Installing python3-pyc (3.12.15-r0)
#58 335.8 (36/36) Installing devtools (20261008.130339)
#58 335.8 Executing busybox-1.37.0-r30.trigger
#58 335.8 Executing eudev-3.2.14-r6.trigger
#58 335.9 OK: 315.3 MiB in 85 packages
#58 ...
#57 [linux/arm/v7 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#57 DONE 544.6s
#58 [linux/arm64 release 2/3] RUN chown -R node-red:root /usr/src/node-red && /tmp/install_devtools.sh && rm -r /tmp/*
#58 DONE 545.4s
#59 [linux/arm64 release 3/3] RUN npm config set cache /data/.npm --global
#59 ...
#60 [linux/arm/v7 release 3/3] RUN npm config set cache /data/.npm --global
#60 8.346 npm notice
#60 8.346 npm notice New major version of npm available! 10.8.2 -> 12.2.0
#60 8.346 npm notice Changelog: https://github.com/npm/cli/releases/tag/v12.2.0
#60 8.346 npm notice To update run: npm install -g npm@12.2.0
#60 8.346 npm notice
#60 ...
#59 [linux/arm64 release 3/3] RUN npm config set cache /data/.npm --global
#59 DONE 9.3s
#60 [linux/arm/v7 release 3/3] RUN npm config set cache /data/.npm --global
#60 DONE 9.5s
#61 exporting to image
#61 exporting layers
#61 exporting layers 238.9s done
#61 exporting manifest sha256:9df5c9236ea19941778f460056d418bd3131e70b059e77ba927f52627465577a
#61 exporting manifest sha256:9df5c9236ea19941778f460056d418bd3131e70b059e77ba927f52627465577a 0.5s done
#61 exporting config sha256:291b86f1b30c0241a43396537cfa4ae7147b6ba3807474624719fe8955e49720
#61 exporting config sha256:291b86f1b30c0241a43396537cfa4ae7147b6ba3807474624719fe8955e49720 0.2s done
#61 exporting attestation manifest sha256:071994d5ec7fc22c16a85f89c824854ca1e737c71f53f9c05816d4f6684fc80f
#61 exporting attestation manifest sha256:071994d5ec7fc22c16a85f89c824854ca1e737c71f53f9c05816d4f6684fc80f 0.3s done
#61 exporting manifest sha256:f5ceab0c52b9f1d594b620f87dd64b7b120b2b71c6935fd13b54496d1176be45
#61 exporting manifest sha256:f5ceab0c52b9f1d594b620f87dd64b7b120b2b71c6935fd13b54496d1176be45 0.5s done
#61 exporting config sha256:d253deca1ad88a8d516d3463646d11eb80af1317dc970ad237231c9f22f34575
#61 exporting config sha256:d253deca1ad88a8d516d3463646d11eb80af1317dc970ad237231c9f22f34575 0.3s done
#61 exporting attestation manifest sha256:163f602f1ed82915cc8cd48ca3239535e084d262b6e0138d29e9b40c6a03ecdd 0.0s done
#61 exporting manifest list sha256:43424ed6e4bca9dcf0695f72bc2a33625518fcfd4501e9e5c9015672f04f9ff5
#61 exporting manifest list sha256:43424ed6e4bca9dcf0695f72bc2a33625518fcfd4501e9e5c9015672f04f9ff5 0.3s done
#61 DONE 241.2s
#61 exporting to image
#61 pushing layers
#61 ...
#62 [auth] nodered/node-red:pull,push token for registry-1.docker.io
#62 DONE 0.0s
#61 exporting to image
#61 pushing layers 91.9s done
#61 pushing manifest for docker.io/nodered/node-red
#61 pushing manifest for docker.io/nodered/node-red 3.1s done
#61 ...
#63 [auth] node-red/node-red:pull,push token for ghcr.io
#63 DONE 0.0s
#61 exporting to image
#61 pushing layers 87.8s done
#61 pushing manifest for ghcr.io/node-red/node-red
#61 ...
#64 [auth] node-red/node-red:pull,push token for ghcr.io
#64 DONE 0.0s
#61 exporting to image
#61 pushing manifest for ghcr.io/node-red/node-red 3.2s done
#61 DONE 427.2s
#65 resolving provenance for metadata file
#65 DONE 3.4s
#66 merging manifest list nodered/node-red:4.1.16-20,ghcr.io/node-red/node-red:4.1.16-20,nodered/node-red:latest-20,ghcr.io/node-red/node-red:latest-20
#66 DONE 5.2s
Additional info
No response
Activity
crazy-max commentedon Oct 9, 2026
I reproduced this in the Buildx resolver with the same three-node configuration and simulated worker platforms. It looks like a bug in how explicitly configured platforms are prioritized after worker discovery 🙈
The first node has no explicit
platformssetting, so resolvinglinux/amd64triggers worker discovery. Buildx then re-resolves all requested platforms, treating configured and detected platforms equally. If the Pi 4 advertiseslinux/arm64, it wins the tie with the Pi 5 because it appears first, despite ARM64 being explicitly assigned to the Pi 5.As a workaround, try adding
platforms: linux/amd64to the top-levelwith:block:That produces the expected assignments in the resolver test because all requested platforms now have explicit matches. I haven't tested this against the actual Pi builders. The underlying fix should preserve explicit platform priority when worker discovery is needed.