From 586d4e064a26f135aa8ca28c5a8f6bb087e83593 Mon Sep 17 00:00:00 2001 From: knolleary Date: Thu, 20 Jun 2024 12:38:10 +0000 Subject: [PATCH 01/25] Bump to 4.0.0 --- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-custom/package.json b/docker-custom/package.json index 25c57b6d..3e0de34d 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.0-beta.4", + "version": "4.0.0", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.0-beta.4" + "node-red": "4.0.0" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index b0940ba3..e0935db6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.0-beta.4", + "version": "4.0.0", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.0-beta.4" + "node-red": "4.0.0" }, "engines": { "node": ">=18" From da1683d3aaf70243ad11fce3a919b05d213bbb98 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Mon, 24 Jun 2024 09:54:20 +0100 Subject: [PATCH 02/25] Add ARMv7 back to alpine builds --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7ef7f716..a2bf6970 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -143,7 +143,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - platforms: linux/amd64, linux/arm64 + platforms: linux/amd64, linux/arm64, linux/arm/v7 push: ${{ steps.nrVersion.outputs.push }} file: .docker/Dockerfile.alpine build-args: | From 2f9caca1713b4ac6c60f4ec606161a3a0a31c8b1 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Mon, 24 Jun 2024 10:28:46 +0100 Subject: [PATCH 03/25] Remove linux/arm/v7 ARMv7 builds still fail when running on QEMU emulated hardware for NodeJS v20 & v22 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a2bf6970..7ef7f716 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -143,7 +143,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - platforms: linux/amd64, linux/arm64, linux/arm/v7 + platforms: linux/amd64, linux/arm64 push: ${{ steps.nrVersion.outputs.push }} file: .docker/Dockerfile.alpine build-args: | From 74b12c6fcff68db0f9a0757808f950c4daffd8e6 Mon Sep 17 00:00:00 2001 From: knolleary Date: Wed, 26 Jun 2024 13:46:33 +0000 Subject: [PATCH 04/25] Bump to 4.0.1 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 7c45d02f..ddabd427 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.0 + nodered/node-red - the image to base it on - currently Node-RED v4.0.1 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.0 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.1 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.0-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.1-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.0-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.1-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.0-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.1-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.0-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.1-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.0-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.1-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.0-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.1-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.0-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.1-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.0, | nodered/node-red:4.0.0-20 | -| latest-20, 4.0.0-20 | | +| latest, 4.0.1, | nodered/node-red:4.0.1-20 | +| latest-20, 4.0.1-20 | | | | | | | | -| latest-minimal, 4.0.0-minimal, | nodered/node-red:4.0.0-20-minimal | -| latest-20-minimal, 4.0.0-20-minimal | | +| latest-minimal, 4.0.1-minimal, | nodered/node-red:4.0.1-20-minimal | +| latest-20-minimal, 4.0.1-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.0-18 | nodered/node-red:4.0.0-18 | +| latest-18, 4.0.1-18 | nodered/node-red:4.0.1-18 | | | | -| latest-18-minimal, 4.0.0-18-minimal | nodered/node-red:4.0.0-18-minimal | +| latest-18-minimal, 4.0.1-18-minimal | nodered/node-red:4.0.1-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.0-22 | nodered/node-red:4.0.0-22 | +| latest-22, 4.0.1-22 | nodered/node-red:4.0.1-22 | | | | -| latest-22-minimal, 4.0.0-22-minimal | nodered/node-red:4.0.0-22-minimal +| latest-22-minimal, 4.0.1-22-minimal | nodered/node-red:4.0.1-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.0-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.1-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.0", <-- set the version of Node-RED here + "node-red": "^4.0.1", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index 3e0de34d..a69d720e 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.0", + "version": "4.0.1", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.0" + "node-red": "4.0.1" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index e0935db6..ebfb4949 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.0", + "version": "4.0.1", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.0" + "node-red": "4.0.1" }, "engines": { "node": ">=18" From a34bf58b57cb51e35454d6b25aae470436e975e6 Mon Sep 17 00:00:00 2001 From: knolleary Date: Mon, 1 Jul 2024 15:52:40 +0000 Subject: [PATCH 05/25] Bump to 4.0.2 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index ddabd427..5f0aab62 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.1 + nodered/node-red - the image to base it on - currently Node-RED v4.0.2 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.1 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.2 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.1-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.2-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.1-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.2-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.1-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.2-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.1-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.2-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.1-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.2-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.1-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.2-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.1-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.2-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.1, | nodered/node-red:4.0.1-20 | -| latest-20, 4.0.1-20 | | +| latest, 4.0.2, | nodered/node-red:4.0.2-20 | +| latest-20, 4.0.2-20 | | | | | | | | -| latest-minimal, 4.0.1-minimal, | nodered/node-red:4.0.1-20-minimal | -| latest-20-minimal, 4.0.1-20-minimal | | +| latest-minimal, 4.0.2-minimal, | nodered/node-red:4.0.2-20-minimal | +| latest-20-minimal, 4.0.2-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.1-18 | nodered/node-red:4.0.1-18 | +| latest-18, 4.0.2-18 | nodered/node-red:4.0.2-18 | | | | -| latest-18-minimal, 4.0.1-18-minimal | nodered/node-red:4.0.1-18-minimal | +| latest-18-minimal, 4.0.2-18-minimal | nodered/node-red:4.0.2-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.1-22 | nodered/node-red:4.0.1-22 | +| latest-22, 4.0.2-22 | nodered/node-red:4.0.2-22 | | | | -| latest-22-minimal, 4.0.1-22-minimal | nodered/node-red:4.0.1-22-minimal +| latest-22-minimal, 4.0.2-22-minimal | nodered/node-red:4.0.2-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.1-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.2-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.1", <-- set the version of Node-RED here + "node-red": "^4.0.2", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index a69d720e..563c4b18 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.1", + "version": "4.0.2", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.1" + "node-red": "4.0.2" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index ebfb4949..090083ca 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.1", + "version": "4.0.2", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.1" + "node-red": "4.0.2" }, "engines": { "node": ">=18" From fd5b69a572305be6a58d0290ecc45dd0a4bb2cb8 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Mon, 1 Jul 2024 18:36:37 +0100 Subject: [PATCH 06/25] Enable 32bit ARM builds for Node v18 --- .github/workflows/main.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7ef7f716..b17d540b 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -119,6 +119,12 @@ jobs: fi fi + if [[ "${{ matrix.node }}" == "18"]]; then + echo "platorms=linux/amd64,linux/arm/v7,linux/arm64" >> $GITHUB_OUTPUT + else + echo "platorms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT + fi + echo $TAGS echo "tags=$TAGS" >> $GITHUB_OUTPUT echo "push=$PUSH" >> $GITHUB_OUTPUT @@ -143,7 +149,7 @@ jobs: uses: docker/build-push-action@v5 with: context: . - platforms: linux/amd64, linux/arm64 + platforms: ${{ steps.nrVersion.outputs.platforms }} push: ${{ steps.nrVersion.outputs.push }} file: .docker/Dockerfile.alpine build-args: | From c7464b86c8130966b9913880f6b9313d7834a8c7 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Mon, 1 Jul 2024 18:40:52 +0100 Subject: [PATCH 07/25] Fix typo --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b17d540b..d14e7c5f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -120,9 +120,9 @@ jobs: fi if [[ "${{ matrix.node }}" == "18"]]; then - echo "platorms=linux/amd64,linux/arm/v7,linux/arm64" >> $GITHUB_OUTPUT + echo "platforms=linux/amd64,linux/arm/v7,linux/arm64" >> $GITHUB_OUTPUT else - echo "platorms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT + echo "platforms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT fi echo $TAGS From 4b83b2301f00a22685633308a66d1c2c4ee1bd4a Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Sun, 7 Jul 2024 10:29:19 +0100 Subject: [PATCH 08/25] Enable 32bit ARM builds again --- .github/workflows/main.yml | 42 +++++++++++++++++++++++++++++++++----- 1 file changed, 37 insertions(+), 5 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d14e7c5f..90e54af6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -26,6 +26,7 @@ jobs: runs-on: ubuntu-latest strategy: + max-parallel: 2 matrix: node: [18, 20, 22] suffix: ["", "-minimal"] @@ -54,9 +55,33 @@ jobs: - name: Setup QEMU uses: docker/setup-qemu-action@v3 + with: + platforms: arm64 + - + name: Set up SSH key pi5 + uses: MrSquaare/ssh-setup-action@2d028b70b5e397cf8314c6eaea229a6c3e34977a # v3.1.0 + with: + host: ${{ secrets.SSH_REMOTE_HOST}} + private-key: ${{ secrets.SSH_PRIVATE_KEY }} + private-key-name: remote + port: 2022 + - + name: Set up SSH key pi4 + uses: MrSquaare/ssh-setup-action@2d028b70b5e397cf8314c6eaea229a6c3e34977a # v3.1.0 + with: + host: ${{ secrets.SSH_REMOTE_HOST}} + private-key: ${{ secrets.SSH_PRIVATE_KEY }} + private-key-name: remote + port: 2023 - name: Setup Docker buildx uses: docker/setup-buildx-action@v3 + 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/arm64 - name: Get Date id: date # run: echo "::set-output name=date::$(date +'%Y-%m-%dT%H:%M:%SZ')" @@ -119,11 +144,18 @@ jobs: fi fi - if [[ "${{ matrix.node }}" == "18"]]; then - echo "platforms=linux/amd64,linux/arm/v7,linux/arm64" >> $GITHUB_OUTPUT - else - echo "platforms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT - fi + # if [[ "${{ matrix.node }}" == "18"]]; then + # echo "platforms=linux/amd64,linux/arm/v7,linux/arm64" >> $GITHUB_OUTPUT + # else + # echo "platforms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT + # fi + + # if [[ "${{ matrix.suffix }}" == "-minimal" ]]; then + # echo "platforms=linux/amd64,linux/arm64" >> $GITHUB_OUTPUT + # else + # echo "platforms=linux/amd64,linux/arm/v7,linux/arm64" >> $GITHUB_OUTPUT + # fi + echo "platforms=linux/amd64,linux/arm/v7,linux/arm64" >> $GITHUB_OUTPUT echo $TAGS echo "tags=$TAGS" >> $GITHUB_OUTPUT From 8d523feac11fa53ea0f007310d112b79ab360de0 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Fri, 19 Jul 2024 13:22:02 +0100 Subject: [PATCH 09/25] Add iputils-ping to the base packages (#445) --- .docker/Dockerfile.debian | 3 ++- docker-custom/Dockerfile.debian | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.docker/Dockerfile.debian b/.docker/Dockerfile.debian index 48ae21e8..cd649c63 100644 --- a/.docker/Dockerfile.debian +++ b/.docker/Dockerfile.debian @@ -19,7 +19,8 @@ RUN set -ex && \ git \ openssl \ openssh-client \ - ca-certificates && \ + ca-certificates \ + iputils-ping && \ mkdir -p /usr/src/node-red /data && \ deluser --remove-home node && \ # adduser --home /usr/src/node-red --disabled-password --no-create-home node-red --uid 1000 && \ diff --git a/docker-custom/Dockerfile.debian b/docker-custom/Dockerfile.debian index 5f067aa5..b5c65509 100644 --- a/docker-custom/Dockerfile.debian +++ b/docker-custom/Dockerfile.debian @@ -20,7 +20,8 @@ RUN set -ex && \ git \ openssl \ openssh-client \ - ca-certificates && \ + ca-certificates \ + iputils-ping && \ mkdir -p /usr/src/node-red /data && \ deluser --remove-home node && \ # adduser --home /usr/src/node-red --disabled-password --no-create-home node-red --uid 1000 && \ From c234a48172a44e0de28622405c93ba8b74b11567 Mon Sep 17 00:00:00 2001 From: knolleary Date: Tue, 17 Sep 2024 14:27:58 +0000 Subject: [PATCH 10/25] Bump to 4.0.3 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 5f0aab62..cc6e0168 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.2 + nodered/node-red - the image to base it on - currently Node-RED v4.0.3 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.2 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.3 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.2-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.3-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.2-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.3-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.2-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.3-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.2-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.3-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.2-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.3-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.2-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.3-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.2-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.3-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.2, | nodered/node-red:4.0.2-20 | -| latest-20, 4.0.2-20 | | +| latest, 4.0.3, | nodered/node-red:4.0.3-20 | +| latest-20, 4.0.3-20 | | | | | | | | -| latest-minimal, 4.0.2-minimal, | nodered/node-red:4.0.2-20-minimal | -| latest-20-minimal, 4.0.2-20-minimal | | +| latest-minimal, 4.0.3-minimal, | nodered/node-red:4.0.3-20-minimal | +| latest-20-minimal, 4.0.3-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.2-18 | nodered/node-red:4.0.2-18 | +| latest-18, 4.0.3-18 | nodered/node-red:4.0.3-18 | | | | -| latest-18-minimal, 4.0.2-18-minimal | nodered/node-red:4.0.2-18-minimal | +| latest-18-minimal, 4.0.3-18-minimal | nodered/node-red:4.0.3-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.2-22 | nodered/node-red:4.0.2-22 | +| latest-22, 4.0.3-22 | nodered/node-red:4.0.3-22 | | | | -| latest-22-minimal, 4.0.2-22-minimal | nodered/node-red:4.0.2-22-minimal +| latest-22-minimal, 4.0.3-22-minimal | nodered/node-red:4.0.3-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.2-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.3-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.2", <-- set the version of Node-RED here + "node-red": "^4.0.3", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index 563c4b18..bf4bca82 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.2", + "version": "4.0.3", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.2" + "node-red": "4.0.3" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index 090083ca..d63dad74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.2", + "version": "4.0.3", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.2" + "node-red": "4.0.3" }, "engines": { "node": ">=18" From 3dee2746c36d112a5bd60647015c3ea713f1b161 Mon Sep 17 00:00:00 2001 From: Marc Date: Tue, 8 Oct 2024 13:56:44 +0200 Subject: [PATCH 11/25] Add image source label to dockerfiles (#456) * Update Dockerfile.custom * Update Dockerfile.debian * Update Dockerfile.alpine * Update Dockerfile.debian --- .docker/Dockerfile.alpine | 1 + .docker/Dockerfile.debian | 1 + docker-custom/Dockerfile.custom | 1 + docker-custom/Dockerfile.debian | 1 + 4 files changed, 4 insertions(+) diff --git a/.docker/Dockerfile.alpine b/.docker/Dockerfile.alpine index a3f627f7..842f1c18 100644 --- a/.docker/Dockerfile.alpine +++ b/.docker/Dockerfile.alpine @@ -71,6 +71,7 @@ LABEL org.label-schema.build-date=${BUILD_DATE} \ org.label-schema.vcs-ref=${BUILD_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=${ARCH} \ authors="Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan" diff --git a/.docker/Dockerfile.debian b/.docker/Dockerfile.debian index cd649c63..96f9a0e3 100644 --- a/.docker/Dockerfile.debian +++ b/.docker/Dockerfile.debian @@ -71,6 +71,7 @@ LABEL org.label-schema.build-date=${BUILD_DATE} \ org.label-schema.vcs-ref=${BUILD_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=${ARCH} \ authors="Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan" diff --git a/docker-custom/Dockerfile.custom b/docker-custom/Dockerfile.custom index f412b73b..187742ea 100644 --- a/docker-custom/Dockerfile.custom +++ b/docker-custom/Dockerfile.custom @@ -70,6 +70,7 @@ LABEL org.label-schema.build-date=${BUILD_DATE} \ org.label-schema.vcs-ref=${BUILD_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=${ARCH} \ authors="Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan" diff --git a/docker-custom/Dockerfile.debian b/docker-custom/Dockerfile.debian index b5c65509..1cc17127 100644 --- a/docker-custom/Dockerfile.debian +++ b/docker-custom/Dockerfile.debian @@ -72,6 +72,7 @@ LABEL org.label-schema.build-date=${BUILD_DATE} \ org.label-schema.vcs-ref=${BUILD_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=${ARCH} \ authors="Dave Conway-Jones, Nick O'Leary, James Thomas, Raymond Mouthaan" From a25deec004234e59553f176b02fc19d9b5912026 Mon Sep 17 00:00:00 2001 From: knolleary Date: Wed, 9 Oct 2024 10:13:28 +0000 Subject: [PATCH 12/25] Bump to 4.0.4 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index cc6e0168..2e52efff 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.3 + nodered/node-red - the image to base it on - currently Node-RED v4.0.4 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.3 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.4 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.3-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.4-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.3-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.4-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.3-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.4-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.3-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.4-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.3-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.4-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.3-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.4-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.3-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.4-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.3, | nodered/node-red:4.0.3-20 | -| latest-20, 4.0.3-20 | | +| latest, 4.0.4, | nodered/node-red:4.0.4-20 | +| latest-20, 4.0.4-20 | | | | | | | | -| latest-minimal, 4.0.3-minimal, | nodered/node-red:4.0.3-20-minimal | -| latest-20-minimal, 4.0.3-20-minimal | | +| latest-minimal, 4.0.4-minimal, | nodered/node-red:4.0.4-20-minimal | +| latest-20-minimal, 4.0.4-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.3-18 | nodered/node-red:4.0.3-18 | +| latest-18, 4.0.4-18 | nodered/node-red:4.0.4-18 | | | | -| latest-18-minimal, 4.0.3-18-minimal | nodered/node-red:4.0.3-18-minimal | +| latest-18-minimal, 4.0.4-18-minimal | nodered/node-red:4.0.4-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.3-22 | nodered/node-red:4.0.3-22 | +| latest-22, 4.0.4-22 | nodered/node-red:4.0.4-22 | | | | -| latest-22-minimal, 4.0.3-22-minimal | nodered/node-red:4.0.3-22-minimal +| latest-22-minimal, 4.0.4-22-minimal | nodered/node-red:4.0.4-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.3-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.4-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.3", <-- set the version of Node-RED here + "node-red": "^4.0.4", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index bf4bca82..750186ee 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.3", + "version": "4.0.4", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.3" + "node-red": "4.0.4" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index d63dad74..53ca51cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.3", + "version": "4.0.4", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.3" + "node-red": "4.0.4" }, "engines": { "node": ">=18" From 33dd10bd557cc6530c167b04645ec454258d0884 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Wed, 9 Oct 2024 12:39:36 +0100 Subject: [PATCH 13/25] Fix case of RELEASE stage (#455) * Add iputils-ping to the base packages * Fix case on final build stage closes #450 --- .docker/Dockerfile.alpine | 2 +- .docker/Dockerfile.debian | 2 +- docker-custom/Dockerfile.custom | 2 +- docker-custom/Dockerfile.debian | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.docker/Dockerfile.alpine b/.docker/Dockerfile.alpine index 842f1c18..c2cd31f9 100644 --- a/.docker/Dockerfile.alpine +++ b/.docker/Dockerfile.alpine @@ -52,7 +52,7 @@ RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python cp -R node_modules prod_node_modules #### Stage RELEASE ##################################################################################################### -FROM base AS RELEASE +FROM base AS release ARG BUILD_DATE ARG BUILD_VERSION ARG BUILD_REF diff --git a/.docker/Dockerfile.debian b/.docker/Dockerfile.debian index 96f9a0e3..935bd636 100644 --- a/.docker/Dockerfile.debian +++ b/.docker/Dockerfile.debian @@ -53,7 +53,7 @@ RUN apt-get update && apt-get install -y build-essential python && \ cp -R node_modules prod_node_modules #### Stage RELEASE ##################################################################################################### -FROM base AS RELEASE +FROM base AS release ARG BUILD_DATE ARG BUILD_VERSION ARG BUILD_REF diff --git a/docker-custom/Dockerfile.custom b/docker-custom/Dockerfile.custom index 187742ea..b1f99fff 100644 --- a/docker-custom/Dockerfile.custom +++ b/docker-custom/Dockerfile.custom @@ -52,7 +52,7 @@ RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python cp -R node_modules prod_node_modules #### Stage RELEASE ##################################################################################################### -FROM base AS RELEASE +FROM base AS release ARG BUILD_DATE ARG BUILD_VERSION ARG BUILD_REF diff --git a/docker-custom/Dockerfile.debian b/docker-custom/Dockerfile.debian index 1cc17127..57db5781 100644 --- a/docker-custom/Dockerfile.debian +++ b/docker-custom/Dockerfile.debian @@ -54,7 +54,7 @@ RUN apt-get update && apt-get install -y build-essential python && \ cp -R node_modules prod_node_modules #### Stage RELEASE ##################################################################################################### -FROM base AS RELEASE +FROM base AS release ARG BUILD_DATE ARG BUILD_VERSION ARG BUILD_REF From 04d23a7c406914c3faf281270e0625ed1a4d675b Mon Sep 17 00:00:00 2001 From: knolleary Date: Thu, 10 Oct 2024 10:17:48 +0000 Subject: [PATCH 14/25] Bump to 4.0.5 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 2e52efff..a54451e8 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.4 + nodered/node-red - the image to base it on - currently Node-RED v4.0.5 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.4 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.5 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.4-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.5-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.4-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.5-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.4-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.5-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.4-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.5-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.4-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.5-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.4-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.5-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.4-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.5-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.4, | nodered/node-red:4.0.4-20 | -| latest-20, 4.0.4-20 | | +| latest, 4.0.5, | nodered/node-red:4.0.5-20 | +| latest-20, 4.0.5-20 | | | | | | | | -| latest-minimal, 4.0.4-minimal, | nodered/node-red:4.0.4-20-minimal | -| latest-20-minimal, 4.0.4-20-minimal | | +| latest-minimal, 4.0.5-minimal, | nodered/node-red:4.0.5-20-minimal | +| latest-20-minimal, 4.0.5-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.4-18 | nodered/node-red:4.0.4-18 | +| latest-18, 4.0.5-18 | nodered/node-red:4.0.5-18 | | | | -| latest-18-minimal, 4.0.4-18-minimal | nodered/node-red:4.0.4-18-minimal | +| latest-18-minimal, 4.0.5-18-minimal | nodered/node-red:4.0.5-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.4-22 | nodered/node-red:4.0.4-22 | +| latest-22, 4.0.5-22 | nodered/node-red:4.0.5-22 | | | | -| latest-22-minimal, 4.0.4-22-minimal | nodered/node-red:4.0.4-22-minimal +| latest-22-minimal, 4.0.5-22-minimal | nodered/node-red:4.0.5-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.4-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.5-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.4", <-- set the version of Node-RED here + "node-red": "^4.0.5", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index 750186ee..1bc7a46e 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.4", + "version": "4.0.5", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.4" + "node-red": "4.0.5" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index 53ca51cc..108c2239 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.4", + "version": "4.0.5", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.4" + "node-red": "4.0.5" }, "engines": { "node": ">=18" From 58ee67e9e311edcf012185b2b122d21451463831 Mon Sep 17 00:00:00 2001 From: knolleary Date: Mon, 16 Dec 2024 14:00:43 +0000 Subject: [PATCH 15/25] Bump to 4.0.6 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index a54451e8..87d33b2b 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.5 + nodered/node-red - the image to base it on - currently Node-RED v4.0.6 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.5 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.6 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.5-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.6-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.5-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.6-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.5-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.6-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.5-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.6-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.5-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.6-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.5-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.6-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.5-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.6-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.5, | nodered/node-red:4.0.5-20 | -| latest-20, 4.0.5-20 | | +| latest, 4.0.6, | nodered/node-red:4.0.6-20 | +| latest-20, 4.0.6-20 | | | | | | | | -| latest-minimal, 4.0.5-minimal, | nodered/node-red:4.0.5-20-minimal | -| latest-20-minimal, 4.0.5-20-minimal | | +| latest-minimal, 4.0.6-minimal, | nodered/node-red:4.0.6-20-minimal | +| latest-20-minimal, 4.0.6-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.5-18 | nodered/node-red:4.0.5-18 | +| latest-18, 4.0.6-18 | nodered/node-red:4.0.6-18 | | | | -| latest-18-minimal, 4.0.5-18-minimal | nodered/node-red:4.0.5-18-minimal | +| latest-18-minimal, 4.0.6-18-minimal | nodered/node-red:4.0.6-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.5-22 | nodered/node-red:4.0.5-22 | +| latest-22, 4.0.6-22 | nodered/node-red:4.0.6-22 | | | | -| latest-22-minimal, 4.0.5-22-minimal | nodered/node-red:4.0.5-22-minimal +| latest-22-minimal, 4.0.6-22-minimal | nodered/node-red:4.0.6-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.5-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.6-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.5", <-- set the version of Node-RED here + "node-red": "^4.0.6", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index 1bc7a46e..adaf8aad 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.5", + "version": "4.0.6", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.5" + "node-red": "4.0.6" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index 108c2239..6089bb5b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.5", + "version": "4.0.6", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.5" + "node-red": "4.0.6" }, "engines": { "node": ">=18" From ec7202e0f1309e0d612eeb342d896a0de0eaa7dd Mon Sep 17 00:00:00 2001 From: knolleary Date: Wed, 18 Dec 2024 10:32:51 +0000 Subject: [PATCH 16/25] Bump to 4.0.7 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 87d33b2b..fa27f5d3 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.6 + nodered/node-red - the image to base it on - currently Node-RED v4.0.7 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.6 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.7 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.6-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.7-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.6-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.7-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.6-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.7-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.6-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.7-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.6-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.7-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.6-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.7-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.6-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.7-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.6, | nodered/node-red:4.0.6-20 | -| latest-20, 4.0.6-20 | | +| latest, 4.0.7, | nodered/node-red:4.0.7-20 | +| latest-20, 4.0.7-20 | | | | | | | | -| latest-minimal, 4.0.6-minimal, | nodered/node-red:4.0.6-20-minimal | -| latest-20-minimal, 4.0.6-20-minimal | | +| latest-minimal, 4.0.7-minimal, | nodered/node-red:4.0.7-20-minimal | +| latest-20-minimal, 4.0.7-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.6-18 | nodered/node-red:4.0.6-18 | +| latest-18, 4.0.7-18 | nodered/node-red:4.0.7-18 | | | | -| latest-18-minimal, 4.0.6-18-minimal | nodered/node-red:4.0.6-18-minimal | +| latest-18-minimal, 4.0.7-18-minimal | nodered/node-red:4.0.7-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.6-22 | nodered/node-red:4.0.6-22 | +| latest-22, 4.0.7-22 | nodered/node-red:4.0.7-22 | | | | -| latest-22-minimal, 4.0.6-22-minimal | nodered/node-red:4.0.6-22-minimal +| latest-22-minimal, 4.0.7-22-minimal | nodered/node-red:4.0.7-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.6-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.7-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.6", <-- set the version of Node-RED here + "node-red": "^4.0.7", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index adaf8aad..3b3c864d 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.6", + "version": "4.0.7", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.6" + "node-red": "4.0.7" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index 6089bb5b..c6f130ac 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.6", + "version": "4.0.7", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.6" + "node-red": "4.0.7" }, "engines": { "node": ">=18" From d21116c46f6eb4bddf16ccba2373431004a7d9f5 Mon Sep 17 00:00:00 2001 From: knolleary Date: Fri, 20 Dec 2024 11:18:54 +0000 Subject: [PATCH 17/25] Bump to 4.0.8 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index fa27f5d3..a954812b 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.7 + nodered/node-red - the image to base it on - currently Node-RED v4.0.8 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.7 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.8 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.7-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.8-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.7-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.8-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.7-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.8-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.7-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.8-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.7-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.8-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.7-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.8-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.7-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.8-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.7, | nodered/node-red:4.0.7-20 | -| latest-20, 4.0.7-20 | | +| latest, 4.0.8, | nodered/node-red:4.0.8-20 | +| latest-20, 4.0.8-20 | | | | | | | | -| latest-minimal, 4.0.7-minimal, | nodered/node-red:4.0.7-20-minimal | -| latest-20-minimal, 4.0.7-20-minimal | | +| latest-minimal, 4.0.8-minimal, | nodered/node-red:4.0.8-20-minimal | +| latest-20-minimal, 4.0.8-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.7-18 | nodered/node-red:4.0.7-18 | +| latest-18, 4.0.8-18 | nodered/node-red:4.0.8-18 | | | | -| latest-18-minimal, 4.0.7-18-minimal | nodered/node-red:4.0.7-18-minimal | +| latest-18-minimal, 4.0.8-18-minimal | nodered/node-red:4.0.8-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.7-22 | nodered/node-red:4.0.7-22 | +| latest-22, 4.0.8-22 | nodered/node-red:4.0.8-22 | | | | -| latest-22-minimal, 4.0.7-22-minimal | nodered/node-red:4.0.7-22-minimal +| latest-22-minimal, 4.0.8-22-minimal | nodered/node-red:4.0.8-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.7-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.8-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.7", <-- set the version of Node-RED here + "node-red": "^4.0.8", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index 3b3c864d..0a1bd756 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.7", + "version": "4.0.8", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.7" + "node-red": "4.0.8" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index c6f130ac..0d1f3e34 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.7", + "version": "4.0.8", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.7" + "node-red": "4.0.8" }, "engines": { "node": ">=18" From 87d2adf8b3973d0cf37547774e8a937f2f864e1e Mon Sep 17 00:00:00 2001 From: knolleary Date: Fri, 14 Feb 2025 17:10:39 +0000 Subject: [PATCH 18/25] Bump to 4.0.9 --- README.md | 38 +++++++++++++++++++------------------- docker-custom/package.json | 4 ++-- package.json | 4 ++-- 3 files changed, 23 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index a954812b..83a56a69 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Let's dissect that command: -p 1880:1880 - connect local port 1880 to the exposed internal port 1880 -v node_red_data:/data - mount the host node_red_data directory to the container /data directory so any changes made to flows are persisted --name mynodered - give this machine a friendly local name - nodered/node-red - the image to base it on - currently Node-RED v4.0.8 + nodered/node-red - the image to base it on - currently Node-RED v4.0.9 @@ -35,7 +35,7 @@ Running that command should give a terminal window with a running instance of No Welcome to Node-RED =================== - 10 Oct 12:57:10 - [info] Node-RED version: v4.0.8 + 10 Oct 12:57:10 - [info] Node-RED version: v4.0.9 10 Oct 12:57:10 - [info] Node.js version: v18.19.0 10 Oct 12:57:10 - [info] Linux 6.6.13-100.fc38.x86_64 x64 LE 10 Oct 12:57:11 - [info] Loading palette nodes @@ -115,40 +115,40 @@ The following table shows the variety of provided Node-RED images. | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.8-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | +| 4.0.9-18 | 18 | amd64 | 3.x | yes | amd64/node:18-alpine | | | 18 | arm32v7 | 3.x | yes | arm32v7/node:18-alpine | | | 18 | arm64v8 | 3.x | yes | arm64v8/node:18-alpine | | | 18 | i386 | 3.x | yes | i386/node:18-alpine | | | | | | | | -| 4.0.8-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | +| 4.0.9-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine | | | 18 | arm32v7 | no | no | arm32v7/node:18-alpine | | | 18 | arm64v8 | no | no | arm64v8/node:18-alpine | | | 18 | i386 | no | no | i386/node:18-alpine | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.8-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | +| 4.0.9-20 | 20 | amd64 | 3.x | yes | amd64/node:20-alpine | | | 20 | arm32v7 | 3.x | yes | arm32v7/node:20-alpine | | | 20 | arm64v8 | 3.x | yes | arm64v8/node:20-alpine | | | 20 | i386 | 3.x | yes | i386/node:20-alpine | | | | | | | | -| 4.0.8-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | +| 4.0.9-20-minimal | 20 | amd64 | no | no | amd64/node:20-alpine | | | 20 | arm32v7 | no | no | arm32v7/node:20-alpine | | | 20 | arm64v8 | no | no | arm64v8/node:20-alpine | | | 20 | i386 | no | no | i386/node:20-alpine | | | | | | | | -| 4.0.8-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | +| 4.0.9-debian | 20 | amd64 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm32v7 | 3.x | yes | amd64/node:20-buster-slim | | | 20 | arm64v8 | 3.x | yes | amd64/node:20-buster-slim | | **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** | |----------------------------|--------|----------|------------|-------|----------------------------| -| 4.0.8-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | +| 4.0.9-22 | 22 | amd64 | 3.x | yes | amd64/node:22-alpine | | | 22 | arm32v7 | 3.x | yes | arm32v7/node:22-alpine | | | 22 | arm64v8 | 3.x | yes | arm64v8/node:22-alpine | | | 22 | i386 | 3.x | yes | i386/node:22-alpine | | | | | | | | -| 4.0.8-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | +| 4.0.9-22-minimal | 22 | amd64 | no | no | amd64/node:22-alpine | | | 22 | arm32v7 | no | no | arm32v7/node:22-alpine | | | 22 | arm64v8 | no | no | arm64v8/node:22-alpine | | | 22 | i386 | no | no | i386/node:22-alpine | @@ -160,28 +160,28 @@ The following table shows the provided Manifest Lists. | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest, 4.0.8, | nodered/node-red:4.0.8-20 | -| latest-20, 4.0.8-20 | | +| latest, 4.0.9, | nodered/node-red:4.0.9-20 | +| latest-20, 4.0.9-20 | | | | | | | | -| latest-minimal, 4.0.8-minimal, | nodered/node-red:4.0.8-20-minimal | -| latest-20-minimal, 4.0.8-20-minimal | | +| latest-minimal, 4.0.9-minimal, | nodered/node-red:4.0.9-20-minimal | +| latest-20-minimal, 4.0.9-20-minimal | | | | | | latest-debian | nodered/node-red:latest-debian | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-18, 4.0.8-18 | nodered/node-red:4.0.8-18 | +| latest-18, 4.0.9-18 | nodered/node-red:4.0.9-18 | | | | -| latest-18-minimal, 4.0.8-18-minimal | nodered/node-red:4.0.8-18-minimal | +| latest-18-minimal, 4.0.9-18-minimal | nodered/node-red:4.0.9-18-minimal | | **Tag** | **Node-RED Base Image** | |----------------------------------------|--------------------------------------------| -| latest-22, 4.0.8-22 | nodered/node-red:4.0.8-22 | +| latest-22, 4.0.9-22 | nodered/node-red:4.0.9-22 | | | | -| latest-22-minimal, 4.0.8-22-minimal | nodered/node-red:4.0.8-22-minimal +| latest-22-minimal, 4.0.9-22-minimal | nodered/node-red:4.0.9-22-minimal With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use. @@ -189,7 +189,7 @@ When a docker run command or docker service command or docker stack command is e Therefore all tags regarding Raspberry PI's are dropped. -For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.8-20`), and run the container. +For example: suppose you are running on a Raspberry PI 3B, which has `arm32v7` as architecture. Then just run the following command to pull the image (tagged by `4.0.9-20`), and run the container. ``` @@ -329,7 +329,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`. The main sections to modify are "dependencies": { - "node-red": "^4.0.8", <-- set the version of Node-RED here + "node-red": "^4.0.9", <-- set the version of Node-RED here "node-red-dashboard": "*" <-- add any extra npm packages here }, diff --git a/docker-custom/package.json b/docker-custom/package.json index 0a1bd756..99878543 100644 --- a/docker-custom/package.json +++ b/docker-custom/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.8", + "version": "4.0.9", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.8" + "node-red": "4.0.9" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index 0d1f3e34..c4a64aea 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "node-red-docker", - "version": "4.0.8", + "version": "4.0.9", "description": "Low-code programming for event-driven applications", "homepage": "http://nodered.org", "license": "Apache-2.0", @@ -29,7 +29,7 @@ } ], "dependencies": { - "node-red": "4.0.8" + "node-red": "4.0.9" }, "engines": { "node": ">=18" From 67e7aa615cedcebfe0534e9ab4342c8939dec130 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Fri, 14 Feb 2025 17:34:01 +0000 Subject: [PATCH 19/25] Change ubuntu version for debian container GH Action build Bump down to `ubuntu-22.04` as qemu problem on `ubuntu-latest` --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 90e54af6..e04fc1bd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -200,7 +200,7 @@ jobs: LATEST_NODE: 20 DEFAULT_IMAGE: nodered/node-red DEV_IMAGE: nodered/node-red-dev - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - name: Checkout From 09f20d7048eca44ab8185d3b07df3b0e85e4cd4a Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Fri, 14 Feb 2025 18:28:23 +0000 Subject: [PATCH 20/25] revert to latest as all ubuntu-images appear broken --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e04fc1bd..90e54af6 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -200,7 +200,7 @@ jobs: LATEST_NODE: 20 DEFAULT_IMAGE: nodered/node-red DEV_IMAGE: nodered/node-red-dev - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - name: Checkout From f2250a65504707998284fd6b662b135add1fb362 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Sat, 15 Feb 2025 08:15:10 +0000 Subject: [PATCH 21/25] pin qemu image --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 90e54af6..e488ab70 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -207,6 +207,8 @@ jobs: uses: actions/checkout@v4.1.2 - name: Setup QEMU uses: docker/setup-qemu-action@v3 + with: + image: tonistiigi/binfmt:qemu-v7.0.0-28 - name: Setup Docker buildx uses: docker/setup-buildx-action@v3 - name: Login to DockerHub From baa2e77a7c138d6b1c4aae3591aa7cf897512517 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Mon, 17 Mar 2025 16:58:57 +0000 Subject: [PATCH 22/25] Publish to ghcr.io (#478) Publish containers to GitHub Container Package registry as well as docker hub --- .github/workflows/main.yml | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e488ab70..68f84701 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -22,7 +22,9 @@ jobs: # Setting the defaults up front LATEST_NODE: 20 DEFAULT_IMAGE: nodered/node-red + GH_IMAGE: ghcr.io/node-red/node-red DEV_IMAGE: nodered/node-red-dev + GH_DEV_IMAGE: ghcr.io/node-red/node-red-dev runs-on: ubuntu-latest strategy: @@ -48,6 +50,7 @@ jobs: suffix=-${{matrix.node}}${{matrix.suffix}} images: | ${{ env.DEFAULT_IMAGE }} + ${{ env.GH_IMAGE }} tags: | type=ref,event=branch type=semver,pattern={{version}} @@ -118,20 +121,22 @@ jobs: if [[ "$TRAVIS_TAG" =~ ^v[0-9\.-]*$ ]]; then IMAGE=${{ env.DEFAULT_IMAGE }} + GH_IMAGE=${{ env.GH_IMAGE}} PUSH=true VERSION=${TRAVIS_TAG:1} STABLE_VERSION=`echo ${VERSION} | sed -r 's/^([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)$/\1.\2/'` if [[ "${{ matrix.node }}" == "${{ env.LATEST_NODE }}" && "${{ matrix.suffix }}" == "" ]]; then - TAGS="$TAGS,$IMAGE:$VERSION,$IMAGE:$STABLE_VERSION,$IMAGE:latest" + TAGS="$TAGS,$IMAGE:$VERSION,$IMAGE:$STABLE_VERSION,$IMAGE:latest,$GH_IMAGE:$VERSION,$GH_IMAGE:$STABLE_VERSION,$GH_IMAGE:latest" elif [[ "${{ matrix.node }}" == "${{ env.LATEST_NODE }}" && "${{ matrix.suffix }}" == "-minimal" ]]; then - TAGS="$TAGS,$IMAGE:$VERSION-minimal,$IMAGE:latest-minimal" + TAGS="$TAGS,$IMAGE:$VERSION-minimal,$IMAGE:latest-minimal,$GH_IMAGE:$VERSION-minimal,$GH_IMAGE:latest-minimal" fi - TAGS="$TAGS,$IMAGE:latest-${{ matrix.node }}${{ matrix.suffix }}" + TAGS="$TAGS,$IMAGE:latest-${{ matrix.node }}${{ matrix.suffix }},$GH_IMAGE:latest-${{ matrix.node }}${{ matrix.suffix }}" else IMAGE=${{ env.DEV_IMAGE }} + GH_IMAGE=${{ env.GH_DEV_IMAGE}} if [[ "$TRAVIS_TAG" == *"dev"* || "$TRAVIS_TAG" == *"beta"* ]]; then PUSH=true else @@ -139,8 +144,9 @@ jobs: fi VERSION=${TRAVIS_TAG} TAGS=$(echo $TAGS | sed 's!${{ env.DEFAULT_IMAGE}}!${{ env.DEV_IMAGE }}!') + TAGS=$(echo $TAGS | sed 's!${{ env.GH_IMAGE}}!${{ env.GH_DEV_IMAGE }}!') if [ "${{ matrix.node }}" == "${{ env.LATEST_NODE }}" ] && [ "${{ matrix.suffix}}" == "" ]; then - TAGS="$TAGS,$IMAGE:$VERSION" + TAGS="$TAGS,$IMAGE:$VERSION,$GH_IMAGE:$VERSION" fi fi @@ -175,6 +181,13 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - + name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push id: build-push @@ -216,6 +229,12 @@ jobs: with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Login to GitHub Container Registry + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.repository_owner }} + password: ${{ secrets.GITHUB_TOKEN }} - name: Get Date id: date # run: echo "::set-output name=date::$(date +'%Y-%m-%dT%H:%M:%SZ')" @@ -228,6 +247,7 @@ jobs: latest=false images: | ${{ env.DEFAULT_IMAGE }} + ${{ env.GH_IMAGE }} tags: | type=ref,event=branch type=semver,pattern={{version}} @@ -248,14 +268,16 @@ jobs: if [[ "$TRAVIS_TAG" =~ ^v[0-9\.-]*$ ]]; then # release build IMAGE=${{ env.DEFAULT_IMAGE }} + GH_IMAGE=${{ env.GH_IMAGE }} PUSH=true VERSION=${TRAVIS_TAG:1} STABLE_VERSION=`echo ${VERSION} | sed -r 's/^([[:digit:]]+)\.([[:digit:]]+)\.([[:digit:]]+)$/\1.\2/'` - TAGS="$IMAGE:latest-debian,$IMAGE:$VERSION-debian,$IMAGE:$STABLE_VERSION-debian" + TAGS="$IMAGE:latest-debian,$IMAGE:$VERSION-debian,$IMAGE:$STABLE_VERSION-debian,$GH_IMAGE:latest-debian,$GH_IMAGE:$VERSION-debian,$GH_IMAGE:$STABLE_VERSION-debian" else IMAGE=${{ env.DEV_IMAGE }} + GH_IMAGE=${{ env.GH_DEV_IMAGE}} if [[ "$TRAVIS_TAG" == *"dev"* || "$TRAVIS_TAG" == *"beta"* ]]; then # beta build PUSH=true @@ -264,7 +286,7 @@ jobs: fi VERSION=${TRAVIS_TAG} - TAGS="$IMAGE:$VERSION-debian" + TAGS="$IMAGE:$VERSION-debian,$GH_DEV_IMAGE:$VERSION" fi From d88c262f1ba43301ba421a47bdc88eeab1d2f786 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Mon, 17 Mar 2025 17:04:50 +0000 Subject: [PATCH 23/25] Add missing GH Repo Env to debian build (#479) * Add missing env vars to debian builds --- .github/workflows/main.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 68f84701..3a414b13 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -212,7 +212,9 @@ jobs: # Setting the defaults up front LATEST_NODE: 20 DEFAULT_IMAGE: nodered/node-red + GH_IMAGE: ghcr.io/node-red/node-red DEV_IMAGE: nodered/node-red-dev + GH_DEV_IMAGE: ghcr.io/node-red/node-red-dev runs-on: ubuntu-latest steps: From 4e929c692cac7c240bedbf382f1a9fb8b96b61d0 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Mon, 17 Mar 2025 17:28:46 +0000 Subject: [PATCH 24/25] Fix sed regex to get all instances --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 3a414b13..a96b5b6d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -111,7 +111,7 @@ jobs: TEMP=${TEMP:1} TEMP2=$(echo $GITHUB_REF | awk -F '/' '{ print $3}') echo "$GITHUB_REF - $TEMP" - TAGS=$(echo $TAGS | sed "s/$TEMP2/$TEMP/") + TAGS=$(echo $TAGS | sed "s/$TEMP2/$TEMP/g") TRAVIS_TAG=${{ github.event.inputs.version }} else TRAVIS_TAG=$(echo $GITHUB_REF | awk -F '/' '{ print $3}') From 7bacb4ecf2bfa9f4927aa74611177c464d9a0663 Mon Sep 17 00:00:00 2001 From: Ben Hardill Date: Mon, 17 Mar 2025 17:33:41 +0000 Subject: [PATCH 25/25] Fix Debian multiple start tags --- .github/workflows/main.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a96b5b6d..4eea5251 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -258,8 +258,15 @@ jobs: id: nrVersion run: | TAGS="" + while IFS= read -r TAG;do + if [ -z "$TAGS" ]; then + TAGS=$TAG + else + TAGS="$TAGS,$TAG" + fi + done <<< "${{ steps.meta.outputs.tags }}" - echo Original tags ${{ steps.meta.outputs.tags }} + echo "Original tags $TAGS" if [[ ! -z "${{ github.event.inputs.version }}" ]]; then TRAVIS_TAG=${{ github.event.inputs.version }}