Skip to content

Commit 3d02ac5

Browse files
hardillbknolleary
andauthored
Merge 3.0.0 work into master (#317)
* 2.2.0-beta.1 * Updates for NR 3.0.0 release (#311) * Updates for 3.0.0 - Bump the base Alpine build back to latest - Set NodeJS 16 as default - Drop NodeJS 12 - Add NodeJS 18 * Finish updating README.md * Update default versions in custom build scripts * Add 3.0.0-beta.1 * Bump to 3.0.0-beta.2 * Bump dev to 3.0.0-beta.3 (#314) * Remove Python 2 (#315) * Bump dev to 3.0.0-beta.3 * Remove Python2 from alpine builds * Bump to 3.0.0-beta.4 (#316) * Bump to 2.1.6 * Bump to 2.2.0 * Bump to 2.2.1 * Updates for 3.0.0 - Bump the base Alpine build back to latest - Set NodeJS 16 as default - Drop NodeJS 12 - Add NodeJS 18 * Bump to 3.0.0-beta.4 * Remove new empty line Co-authored-by: knolleary <[email protected]> Co-authored-by: Nick O'Leary <[email protected]> Co-authored-by: knolleary <[email protected]>
1 parent 3b0329a commit 3d02ac5

File tree

10 files changed

+69
-69
lines changed

10 files changed

+69
-69
lines changed

.docker/Dockerfile.alpine

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
ARG NODE_VERSION=14
2-
ARG OS=alpine3.12
1+
ARG NODE_VERSION=16
2+
ARG OS=alpine
33

44
#### Stage BASE ########################################################################################################
55
FROM node:${NODE_VERSION}-${OS} AS base
@@ -44,7 +44,7 @@ COPY flows.json /data
4444
FROM base AS build
4545

4646
# Install Build tools
47-
RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python2 && \
47+
RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && \
4848
npm install --unsafe-perm --no-update-notifier --no-audit --no-fund --only=production && \
4949
/tmp/remove_native_gpio.sh && \
5050
cp -R node_modules prod_node_modules

.github/workflows/main.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ jobs:
1414
build:
1515
env:
1616
# Setting the defaults up front
17-
LATEST_NODE: 14
17+
LATEST_NODE: 16
1818
DEFAULT_IMAGE: nodered/node-red
1919
DEV_IMAGE: nodered/node-red-dev
2020
runs-on: ubuntu-latest
2121

2222
strategy:
2323
matrix:
24-
node: [12, 14, 16]
24+
node: [14, 16, 18]
2525
suffix: ["", "-minimal"]
2626

2727
# Steps represent a sequence of tasks that will be executed as part of the job

README.md

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,16 @@ Let's dissect that command:
2626
-p 1880:1880 - connect local port 1880 to the exposed internal port 1880
2727
-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
2828
--name mynodered - give this machine a friendly local name
29-
nodered/node-red - the image to base it on - currently Node-RED v2.2.2
29+
nodered/node-red - the image to base it on - currently Node-RED v3.0.0
3030

3131

3232
Running that command should give a terminal window with a running instance of Node-RED.
3333

3434
Welcome to Node-RED
3535
===================
3636

37-
10 Oct 12:57:10 - [info] Node-RED version: v2.2.2
38-
10 Oct 12:57:10 - [info] Node.js version: v14.18.2
37+
10 Oct 12:57:10 - [info] Node-RED version: v3.0.0
38+
10 Oct 12:57:10 - [info] Node.js version: v16.14.1
3939
10 Oct 12:57:10 - [info] Linux 4.19.76-linuxkit x64 LE
4040
10 Oct 12:57:11 - [info] Loading palette nodes
4141
10 Oct 12:57:16 - [info] Settings file : /data/settings.js
@@ -114,92 +114,92 @@ The following table shows the variety of provided Node-RED images.
114114

115115
| **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** |
116116
|----------------------------|--------|----------|------------|-------|----------------------------|
117-
| 2.2.2-12 | 12 | amd64 | 2.x 3.x | yes | amd64/node:12-alpine3.12 |
118-
| | 12 | arm32v6 | 2.x 3.x | yes | arm32v6/node:12-alpine3.12 |
119-
| | 12 | arm32v7 | 2.x 3.x | yes | arm32v7/node:12-alpine3.12 |
120-
| | 12 | arm64v8 | 2.x 3.x | yes | arm64v8/node:12-alpine3.12 |
121-
| | 12 | s390x | 2.x 3.x | yes | s390x/node:12-alpine3.12 |
122-
| | 12 | i386 | 2.x 3.x | yes | i386/node:12-alpine3.12 |
117+
| 3.0.0-14 | 14 | amd64 | 2.x 3.x | yes | amd64/node:14-alpine |
118+
| | 14 | arm32v6 | 2.x 3.x | yes | arm32v6/node:14-alpine |
119+
| | 14 | arm32v7 | 2.x 3.x | yes | arm32v7/node:14-alpine |
120+
| | 14 | arm64v8 | 2.x 3.x | yes | arm64v8/node:14-alpine |
121+
| | 14 | s390x | 2.x 3.x | yes | s390x/node:14-alpine |
122+
| | 14 | i386 | 2.x 3.x | yes | i386/node:14-alpine |
123123
| | | | | | |
124-
| 2.2.2-12-minimal | 12 | amd64 | no | no | amd64/node:12-alpine3.12 |
125-
| | 12 | arm32v6 | no | no | arm32v6/node:12-alpine3.12 |
126-
| | 12 | arm32v7 | no | no | arm32v7/node:12-alpine3.12 |
127-
| | 12 | arm64v8 | no | no | arm64v8/node:12-alpine3.12 |
128-
| | 12 | s390x | no | no | s390x/node:12-alpine3.12 |
129-
| | 12 | i386 | no | no | i386/node:12-alpine3.12 |
124+
| 3.0.0-14-minimal | 14 | amd64 | no | no | amd64/node:14-alpine |
125+
| | 14 | arm32v6 | no | no | arm32v6/node:14-alpine |
126+
| | 14 | arm32v7 | no | no | arm32v7/node:14-alpine |
127+
| | 14 | arm64v8 | no | no | arm64v8/node:14-alpine |
128+
| | 14 | s390x | no | no | s390x/node:14-alpine |
129+
| | 14 | i386 | no | no | i386/node:14-alpine |
130130

131131
| **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** |
132132
|----------------------------|--------|----------|------------|-------|----------------------------|
133-
| 2.2.2-14 | 14 | amd64 | 2.x 3.x | yes | amd64/node:14-alpine3.12 |
134-
| | 14 | arm32v6 | 2.x 3.x | yes | arm32v6/node:14-alpine3.12 |
135-
| | 14 | arm32v7 | 2.x 3.x | yes | arm32v7/node:14-alpine3.12 |
136-
| | 14 | arm64v8 | 2.x 3.x | yes | arm64v8/node:14-alpine3.12 |
137-
| | 14 | s390x | 2.x 3.x | yes | s390x/node:14-alpine3.12 |
138-
| | 14 | i386 | 2.x 3.x | yes | i386/node:14-alpine3.12 |
133+
| 3.0.0-16 | 14 | amd64 | 2.x 3.x | yes | amd64/node:16-alpine |
134+
| | 14 | arm32v6 | 2.x 3.x | yes | arm32v6/node:16-alpine |
135+
| | 14 | arm32v7 | 2.x 3.x | yes | arm32v7/node:16-alpine |
136+
| | 14 | arm64v8 | 2.x 3.x | yes | arm64v8/node:16-alpine |
137+
| | 14 | s390x | 2.x 3.x | yes | s390x/node:16-alpine |
138+
| | 14 | i386 | 2.x 3.x | yes | i386/node:16-alpine |
139139
| | | | | | |
140-
| 2.2.2-14-minimal | 14 | amd64 | no | no | amd64/node:14-alpine3.12 |
141-
| | 14 | arm32v6 | no | no | arm32v6/node:14-alpine3.12 |
142-
| | 14 | arm32v7 | no | no | arm32v7/node:14-alpine3.12 |
143-
| | 14 | arm64v8 | no | no | arm64v8/node:14-alpine3.12 |
144-
| | 14 | s390x | no | no | s390x/node:14-alpine3.12 |
145-
| | 14 | i386 | no | no | i386/node:14-alpine3.12 |
140+
| 3.0.0-16-minimal | 14 | amd64 | no | no | amd64/node:14-alpine |
141+
| | 14 | arm32v6 | no | no | arm32v6/node:14-alpine |
142+
| | 14 | arm32v7 | no | no | arm32v7/node:14-alpine |
143+
| | 14 | arm64v8 | no | no | arm64v8/node:14-alpine |
144+
| | 14 | s390x | no | no | s390x/node:14-alpine |
145+
| | 14 | i386 | no | no | i386/node:14-alpine |
146146

147147
| **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** |
148148
|----------------------------|--------|----------|------------|-------|----------------------------|
149-
| 2.2.2-16 | 16 | amd64 | 2.x 3.x | yes | amd64/node:16-alpine3.12 |
150-
| | 16 | arm32v6 | 2.x 3.x | yes | arm32v6/node:16-alpine3.12 |
151-
| | 16 | arm32v7 | 2.x 3.x | yes | arm32v7/node:16-alpine3.12 |
152-
| | 16 | arm64v8 | 2.x 3.x | yes | arm64v8/node:16-alpine3.12 |
153-
| | 16 | s390x | 2.x 3.x | yes | s390x/node:16-alpine3.12 |
154-
| | 16 | i386 | 2.x 3.x | yes | i386/node:16-alpine3.12 |
149+
| 3.0.0-18 | 18 | amd64 | 2.x 3.x | yes | amd64/node:18-alpine |
150+
| | 18 | arm32v6 | 2.x 3.x | yes | arm32v6/node:18-alpine |
151+
| | 18 | arm32v7 | 2.x 3.x | yes | arm32v7/node:18-alpine |
152+
| | 18 | arm64v8 | 2.x 3.x | yes | arm64v8/node:18-alpine |
153+
| | 18 | s390x | 2.x 3.x | yes | s390x/node:18-alpine |
154+
| | 18 | i386 | 2.x 3.x | yes | i386/node:18-alpine |
155155
| | | | | | |
156-
| 2.2.2-16-minimal | 16 | amd64 | no | no | amd64/node:16-alpine3.12 |
157-
| | 16 | arm32v6 | no | no | arm32v6/node:16-alpine3.12 |
158-
| | 16 | arm32v7 | no | no | arm32v7/node:16-alpine3.12 |
159-
| | 16 | arm64v8 | no | no | arm64v8/node:16-alpine3.12 |
160-
| | 16 | s390x | no | no | s390x/node:16-alpine3.12 |
161-
| | 16 | i386 | no | no | i386/node:16-alpine3.12 |
162-
156+
| 3.0.0-18-minimal | 18 | amd64 | no | no | amd64/node:18-alpine |
157+
| | 18 | arm32v6 | no | no | arm32v6/node:18-alpine |
158+
| | 18 | arm32v7 | no | no | arm32v7/node:18-alpine |
159+
| | 18 | arm64v8 | no | no | arm64v8/node:18-alpine |
160+
| | 18 | s390x | no | no | s390x/node:18-alpine |
161+
| | 18 | i386 | no | no | i386/node:18-alpine |
163162
- All images have bash, tzdata, nano, curl, git, openssl and openssh-client pre-installed to support Node-RED's Projects feature.
164163

165164
## Manifest Lists
166165
The following table shows the provided Manifest Lists.
167166

168167
| **Tag** | **Node-RED Base Image** |
169168
|----------------------------------------|--------------------------------------------|
170-
| latest, 2.2.2, | nodered/node-red:2.2.2-14 |
171-
| latest-14, 2.2.2-14 | |
169+
| latest, 3.0.0, | nodered/node-red:3.0.0-16 |
170+
| latest-16, 3.0.0-16 | |
172171
| | |
173172
| | |
174-
| latest-minimal, 2.2.2-minimal, | nodered/node-red:2.2.2-14-minimal |
175-
| latest-14-minimal, 2.2.2-14-minimal | |
173+
| latest-minimal, 3.0.0-minimal, | nodered/node-red:3.0.0-16-minimal |
174+
| latest-16-minimal, 3.0.0-16-minimal | |
176175

177176

178177
| **Tag** | **Node-RED Base Image** |
179178
|----------------------------------------|--------------------------------------------|
180-
| latest-12, 2.2.2-12 | nodered/node-red:2.2.2-12 |
179+
| latest-14, 3.0.0-14 | nodered/node-red:3.0.0-12 |
181180
| | |
182-
| latest-12-minimal, 2.2.2-12-minimal | nodered/node-red:2.2.2-12-minimal |
181+
| latest-14-minimal, 3.0.0-14-minimal | nodered/node-red:3.0.0-12-minimal |
183182

184183
| **Tag** | **Node-RED Base Image** |
185184
|----------------------------------------|--------------------------------------------|
186-
| latest-16, 2.2.2-16 | nodered/node-red:2.2.2-16 |
185+
| latest-18, 3.0.0-18 | nodered/node-red:3.0.0-18 |
187186
| | |
188-
| latest-16-minimal, 2.2.2-16-minimal | nodered/node-red:2.2.2-16-minimal |
189-
187+
| latest-18-minimal, 3.0.0-18-minimal | nodered/node-red:3.0.0-18-minimal
190188

191189

192190
With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use.
193191
When a docker run command or docker service command or docker stack command is executed, docker checks which architecture is required and verifies if it is available in the docker repository. If it does, docker pulls the matching image for it.
194192

195193
Therefore all tags regarding Raspberry PI's are dropped.
196194

197-
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 `2.2.2-14`), and run the container.
195+
196+
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 `3.0.0-16`), and run the container.
197+
198198
```
199199
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red:latest
200200
```
201201

202-
The same command can be used for running on an amd64 system, since docker discovers its running on a amd64 host and pulls the image with the matching tag (`2.2.2-13-amd64`).
202+
The same command can be used for running on an amd64 system, since docker discovers its running on a amd64 host and pulls the image with the matching tag (`3.0.0-16-amd64`).
203203

204204
This gives the advantage that you don't need to know/specify which architecture you are running on and makes docker run commands and docker compose files more flexible and exchangeable across systems.
205205

@@ -334,7 +334,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`.
334334
The main sections to modify are
335335

336336
"dependencies": {
337-
"node-red": "^2.2.2", <-- set the version of Node-RED here
337+
"node-red": "^3.0.0", <-- set the version of Node-RED here
338338
"node-red-dashboard": "*" <-- add any extra npm packages here
339339
},
340340

docker-custom/Dockerfile.custom

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
ARG ARCH=amd64
2-
ARG NODE_VERSION=14
3-
ARG OS=alpine3.12
2+
ARG NODE_VERSION=16
3+
ARG OS=alpine
44

55
#### Stage BASE ########################################################################################################
66
FROM ${ARCH}/node:${NODE_VERSION}-${OS} AS base
@@ -43,7 +43,7 @@ COPY flows.json /data
4343
FROM base AS build
4444

4545
# Install Build tools
46-
RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python2 && \
46+
RUN apk add --no-cache --virtual buildtools build-base linux-headers udev python3 && \
4747
npm install --unsafe-perm --no-update-notifier --no-fund --only=production && \
4848
/tmp/remove_native_gpio.sh && \
4949
cp -R node_modules prod_node_modules

docker-custom/Dockerfile.debian

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
ARG ARCH=amd64
2-
ARG NODE_VERSION=14
2+
ARG NODE_VERSION=16
33
ARG OS=buster-slim
44

55
#### Stage BASE ########################################################################################################

docker-custom/docker-alpine.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ echo "#########################################################################"
77

88
docker build --rm --no-cache \
99
--build-arg ARCH=amd64 \
10-
--build-arg NODE_VERSION=14 \
10+
--build-arg NODE_VERSION=16 \
1111
--build-arg NODE_RED_VERSION=${NODE_RED_VERSION} \
12-
--build-arg OS=alpine3.12 \
12+
--build-arg OS=alpine \
1313
--build-arg BUILD_DATE="$(date +"%Y-%m-%dT%H:%M:%SZ")" \
1414
--build-arg TAG_SUFFIX=default \
1515
--file Dockerfile.custom \

docker-custom/docker-debian.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ echo "#########################################################################"
77

88
docker build --rm --no-cache \
99
--build-arg ARCH=amd64 \
10-
--build-arg NODE_VERSION=14 \
10+
--build-arg NODE_VERSION=16 \
1111
--build-arg NODE_RED_VERSION=${NODE_RED_VERSION} \
1212
--build-arg OS=buster-slim \
1313
--build-arg BUILD_DATE="$(date +"%Y-%m-%dT%H:%M:%SZ")" \

docker-custom/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "node-red-docker",
3-
"version": "2.2.2",
3+
"version": "3.0.0",
44
"description": "Low-code programming for event-driven applications",
55
"homepage": "http://nodered.org",
66
"license": "Apache-2.0",
@@ -29,7 +29,7 @@
2929
}
3030
],
3131
"dependencies": {
32-
"node-red": "2.2.2"
32+
"node-red": "3.0.0"
3333
},
3434
"engines": {
3535
"node": ">=12"

docker-custom/scripts/install_devtools.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ set -ex
44
# Installing Devtools
55
if [[ ${TAG_SUFFIX} != *"minimal" ]]; then
66
echo "Installing devtools"
7-
apk add --no-cache --virtual devtools build-base linux-headers udev python2 python3
7+
apk add --no-cache --virtual devtools build-base linux-headers udev python3
88
else
99
echo "Skip installing devtools"
1010
fi

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "node-red-docker",
3-
"version": "2.2.2",
3+
"version": "3.0.0-beta.4",
44
"description": "Low-code programming for event-driven applications",
55
"homepage": "http://nodered.org",
66
"license": "Apache-2.0",
@@ -29,7 +29,7 @@
2929
}
3030
],
3131
"dependencies": {
32-
"node-red": "2.2.2"
32+
"node-red": "3.0.0"
3333
},
3434
"engines": {
3535
"node": ">=12"

0 commit comments

Comments
 (0)