Skip to content

Commit e1c313b

Browse files
authored
Pull latest Readme changes across from dev (#204)
1 parent 2fd4ec7 commit e1c313b

File tree

2 files changed

+148
-79
lines changed

2 files changed

+148
-79
lines changed

Diff for: README.md

+81-79
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
This project describes some of the many ways Node-RED can be run under Docker and has support for multiple architectures (amd64, arm32v6, arm32v7, arm64v8, i386 and s390x).
99
Some basic familiarity with Docker and the [Docker Command Line](https://docs.docker.com/engine/reference/commandline/cli/) is assumed.
1010

11+
**Note**: In version 1.2 we removed the named VOLUME from the build. It should not affect many users - but the details are [here](volumechanges).
12+
1113
As of Node-RED 1.0 this project provides the build for the `nodered/node-red` container on [Docker Hub](https://hub.docker.com/r/nodered/node-red/).
1214

1315
Previous 0.20.x versions are still available at https://hub.docker.com/r/nodered/node-red-docker.
@@ -24,25 +26,25 @@ Let's dissect that command:
2426
-p 1880:1880 - connect local port 1880 to the exposed internal port 1880
2527
-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
2628
--name mynodered - give this machine a friendly local name
27-
nodered/node-red - the image to base it on - currently Node-RED v1.1.3
29+
nodered/node-red - the image to base it on - currently Node-RED v1.2.0
2830

2931

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

3234
Welcome to Node-RED
3335
===================
3436

35-
10 Jul 12:57:10 - [info] Node-RED version: v1.1.3
36-
10 Jul 12:57:10 - [info] Node.js version: v10.21.0
37-
10 Jul 12:57:10 - [info] Linux 4.9.184-linuxkit x64 LE
38-
10 Jul 12:57:11 - [info] Loading palette nodes
39-
10 Jul 12:57:16 - [info] Settings file : /data/settings.js
40-
10 Jul 12:57:16 - [info] Context store : 'default' [module=memory]
41-
10 Jul 12:57:16 - [info] User directory : /data
42-
10 Jul 12:57:16 - [warn] Projects disabled : editorTheme.projects.enabled=false
43-
10 Jul 12:57:16 - [info] Flows file : /data/flows.json
44-
10 Jul 12:57:16 - [info] Creating new flow file
45-
10 Jul 12:57:17 - [warn]
37+
10 Oct 12:57:10 - [info] Node-RED version: v1.2.0
38+
10 Oct 12:57:10 - [info] Node.js version: v10.22.1
39+
10 Oct 12:57:10 - [info] Linux 4.19.76-linuxkit x64 LE
40+
10 Oct 12:57:11 - [info] Loading palette nodes
41+
10 Oct 12:57:16 - [info] Settings file : /data/settings.js
42+
10 Oct 12:57:16 - [info] Context store : 'default' [module=memory]
43+
10 Oct 12:57:16 - [info] User directory : /data
44+
10 Oct 12:57:16 - [warn] Projects disabled : editorTheme.projects.enabled=false
45+
10 Oct 12:57:16 - [info] Flows file : /data/flows.json
46+
10 Oct 12:57:16 - [info] Creating new flow file
47+
10 Oct 12:57:17 - [warn]
4648

4749
---------------------------------------------------------------------
4850
Your flow credentials file is encrypted using a system-generated key.
@@ -56,9 +58,9 @@ Running that command should give a terminal window with a running instance of No
5658
file using your chosen key the next time you deploy a change.
5759
---------------------------------------------------------------------
5860

59-
10 Jul 12:57:17 - [info] Starting flows
60-
10 Jul 12:57:17 - [info] Started flows
61-
10 Jul 12:57:17 - [info] Server now running at http://127.0.0.1:1880/
61+
10 Oct 12:57:17 - [info] Starting flows
62+
10 Oct 12:57:17 - [info] Started flows
63+
10 Oct 12:57:17 - [info] Server now running at http://127.0.0.1:1880/
6264

6365
[...]
6466

@@ -112,36 +114,36 @@ The following table shows the variety of provided Node-RED images.
112114

113115
| **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** |
114116
|----------------------------|--------|----------|------------|-------|------------------------|
115-
| 1.1.3-10-amd64 | 10 | amd64 | 2.x 3.x | yes | amd64/node:10-alpine |
116-
| 1.1.3-10-arm32v6 | 10 | arm32v6 | 2.x 3.x | yes | arm32v6/node:10-alpine |
117-
| 1.1.3-10-arm32v7 | 10 | arm32v7 | 2.x 3.x | yes | arm32v7/node:10-alpine |
118-
| 1.1.3-10-arm64v8 | 10 | arm64v8 | 2.x 3.x | yes | arm64v8/node:10-alpine |
119-
| 1.1.3-10-s390x | 10 | s390x | 2.x 3.x | yes | s390x/node:10-alpine |
120-
| 1.1.3-10-i386 | 10 | i386 | 2.x 3.x | yes | i386/node:10-alpine |
117+
| 1.2.0-10-amd64 | 10 | amd64 | 2.x 3.x | yes | amd64/node:10-alpine |
118+
| 1.2.0-10-arm32v6 | 10 | arm32v6 | 2.x 3.x | yes | arm32v6/node:10-alpine |
119+
| 1.2.0-10-arm32v7 | 10 | arm32v7 | 2.x 3.x | yes | arm32v7/node:10-alpine |
120+
| 1.2.0-10-arm64v8 | 10 | arm64v8 | 2.x 3.x | yes | arm64v8/node:10-alpine |
121+
| 1.2.0-10-s390x | 10 | s390x | 2.x 3.x | yes | s390x/node:10-alpine |
122+
| 1.2.0-10-i386 | 10 | i386 | 2.x 3.x | yes | i386/node:10-alpine |
121123
| | | | | | |
122-
| 1.1.3-10-minimal-amd64 | 10 | amd64 | no | no | amd64/node:10-alpine |
123-
| 1.1.3-10-minimal-arm32v6 | 10 | arm32v6 | no | no | arm32v6/node:10-alpine |
124-
| 1.1.3-10-minimal-arm32v7 | 10 | arm32v7 | no | no | arm32v7/node:10-alpine |
125-
| 1.1.3-10-minimal-arm64v8 | 10 | arm64v8 | no | no | arm64v8/node:10-alpine |
126-
| 1.1.3-10-minimal-s390x | 10 | s390x | no | no | s390x/node:10-alpine |
127-
| 1.1.3-10-minimal-i386 | 10 | i386 | no | no | i386/node:10-alpine |
124+
| 1.2.0-10-minimal-amd64 | 10 | amd64 | no | no | amd64/node:10-alpine |
125+
| 1.2.0-10-minimal-arm32v6 | 10 | arm32v6 | no | no | arm32v6/node:10-alpine |
126+
| 1.2.0-10-minimal-arm32v7 | 10 | arm32v7 | no | no | arm32v7/node:10-alpine |
127+
| 1.2.0-10-minimal-arm64v8 | 10 | arm64v8 | no | no | arm64v8/node:10-alpine |
128+
| 1.2.0-10-minimal-s390x | 10 | s390x | no | no | s390x/node:10-alpine |
129+
| 1.2.0-10-minimal-i386 | 10 | i386 | no | no | i386/node:10-alpine |
128130

129131

130132
| **Tag** |**Node**| **Arch** | **Python** |**Dev**| **Base Image** |
131133
|----------------------------|--------|----------|------------|-------|------------------------|
132-
| 1.1.3-12-amd64 | 12 | amd64 | 2.x 3.x | yes | amd64/node:12-alpine |
133-
| 1.1.3-12-arm32v6 | 12 | arm32v6 | 2.x 3.x | yes | arm32v6/node:12-alpine |
134-
| 1.1.3-12-arm32v7 | 12 | arm32v7 | 2.x 3.x | yes | arm32v7/node:12-alpine |
135-
| 1.1.3-12-arm64v8 | 12 | arm64v8 | 2.x 3.x | yes | arm64v8/node:12-alpine |
136-
| 1.1.3-12-s390x | 12 | s390x | 2.x 3.x | yes | s390x/node:12-alpine |
137-
| 1.1.3-12-i386 | 12 | i386 | 2.x 3.x | yes | i386/node:12-alpine |
134+
| 1.2.0-12-amd64 | 12 | amd64 | 2.x 3.x | yes | amd64/node:12-alpine |
135+
| 1.2.0-12-arm32v6 | 12 | arm32v6 | 2.x 3.x | yes | arm32v6/node:12-alpine |
136+
| 1.2.0-12-arm32v7 | 12 | arm32v7 | 2.x 3.x | yes | arm32v7/node:12-alpine |
137+
| 1.2.0-12-arm64v8 | 12 | arm64v8 | 2.x 3.x | yes | arm64v8/node:12-alpine |
138+
| 1.2.0-12-s390x | 12 | s390x | 2.x 3.x | yes | s390x/node:12-alpine |
139+
| 1.2.0-12-i386 | 12 | i386 | 2.x 3.x | yes | i386/node:12-alpine |
138140
| | | | | | |
139-
| 1.1.3-12-minimal-amd64 | 12 | amd64 | no | no | amd64/node:12-alpine |
140-
| 1.1.3-12-minimal-arm32v6 | 12 | arm32v6 | no | no | arm32v6/node:12-alpine |
141-
| 1.1.3-12-minimal-arm32v7 | 12 | arm32v7 | no | no | arm32v7/node:12-alpine |
142-
| 1.1.3-12-minimal-arm64v8 | 12 | arm64v8 | no | no | arm64v8/node:12-alpine |
143-
| 1.1.3-12-minimal-s390x | 12 | s390x | no | no | s390x/node:12-alpine |
144-
| 1.1.3-12-minimal-i386 | 12 | i386 | no | no | i386/node:12-alpine |
141+
| 1.2.0-12-minimal-amd64 | 12 | amd64 | no | no | amd64/node:12-alpine |
142+
| 1.2.0-12-minimal-arm32v6 | 12 | arm32v6 | no | no | arm32v6/node:12-alpine |
143+
| 1.2.0-12-minimal-arm32v7 | 12 | arm32v7 | no | no | arm32v7/node:12-alpine |
144+
| 1.2.0-12-minimal-arm64v8 | 12 | arm64v8 | no | no | arm64v8/node:12-alpine |
145+
| 1.2.0-12-minimal-s390x | 12 | s390x | no | no | s390x/node:12-alpine |
146+
| 1.2.0-12-minimal-i386 | 12 | i386 | no | no | i386/node:12-alpine |
145147

146148
- All images have bash, tzdata, nano, curl, git, openssl and openssh-client pre-installed to support Node-RED's Projects feature.
147149

@@ -150,53 +152,53 @@ The following table shows the provided Manifest Lists.
150152

151153
| **Tag** | **Node-RED Base Image** |
152154
|----------------------------------------|--------------------------------------------|
153-
| latest, 1.1.3, | nodered/node-red:1.1.3-10-amd64 |
154-
| latest-10, 1.1.3-10 | nodered/node-red:1.1.3-10-arm32v6 |
155-
| | nodered/node-red:1.1.3-10-arm32v7 |
156-
| | nodered/node-red:1.1.3-10-arm64v8 |
157-
| | nodered/node-red:1.1.3-10-s390x |
158-
| | nodered/node-red:1.1.3-10-i386 |
155+
| latest, 1.2.0, | nodered/node-red:1.2.0-10-amd64 |
156+
| latest-10, 1.2.0-10 | nodered/node-red:1.2.0-10-arm32v6 |
157+
| | nodered/node-red:1.2.0-10-arm32v7 |
158+
| | nodered/node-red:1.2.0-10-arm64v8 |
159+
| | nodered/node-red:1.2.0-10-s390x |
160+
| | nodered/node-red:1.2.0-10-i386 |
159161
| | |
160-
| latest-minimal, 1.1.3-minimal, | nodered/node-red:1.1.3-10-amd64-minimal |
161-
| latest-10-minimal, 1.1.3-10-minimal | nodered/node-red:1.1.3-10-arm32v6-minimal |
162-
| | nodered/node-red:1.1.3-10-arm32v7-minimal |
163-
| | nodered/node-red:1.1.3-10-arm64v8-minimal |
164-
| | nodered/node-red:1.1.3-10-s390x-minimal |
165-
| | nodered/node-red:1.1.3-10-i386-minimal |
162+
| latest-minimal, 1.2.0-minimal, | nodered/node-red:1.2.0-10-amd64-minimal |
163+
| latest-10-minimal, 1.2.0-10-minimal | nodered/node-red:1.2.0-10-arm32v6-minimal |
164+
| | nodered/node-red:1.2.0-10-arm32v7-minimal |
165+
| | nodered/node-red:1.2.0-10-arm64v8-minimal |
166+
| | nodered/node-red:1.2.0-10-s390x-minimal |
167+
| | nodered/node-red:1.2.0-10-i386-minimal |
166168

167169
| **Tag** | **Node-RED Base Image** |
168170
|----------------------------------------|--------------------------------------------|
169-
| latest-12, 1.1.3-12 | nodered/node-red:1.1.3-12-amd64 |
170-
| | nodered/node-red:1.1.3-12-arm32v6 |
171-
| | nodered/node-red:1.1.3-12-arm32v7 |
172-
| | nodered/node-red:1.1.3-12-arm64v8 |
173-
| | nodered/node-red:1.1.3-12-s390x |
174-
| | nodered/node-red:1.1.3-12-i386 |
171+
| latest-12, 1.2.0-12 | nodered/node-red:1.2.0-12-amd64 |
172+
| | nodered/node-red:1.2.0-12-arm32v6 |
173+
| | nodered/node-red:1.2.0-12-arm32v7 |
174+
| | nodered/node-red:1.2.0-12-arm64v8 |
175+
| | nodered/node-red:1.2.0-12-s390x |
176+
| | nodered/node-red:1.2.0-12-i386 |
175177
| | |
176-
| latest-12-minimal, 1.1.3-12-minimal | nodered/node-red:1.1.3-12-amd64-minimal |
177-
| | nodered/node-red:1.1.3-12-arm32v6-minimal |
178-
| | nodered/node-red:1.1.3-12-arm32v7-minimal |
179-
| | nodered/node-red:1.1.3-12-arm64v8-minimal |
180-
| | nodered/node-red:1.1.3-12-s390x-minimal |
181-
| | nodered/node-red:1.1.3-12-i386-minimal |
178+
| latest-12-minimal, 1.2.0-12-minimal | nodered/node-red:1.2.0-12-amd64-minimal |
179+
| | nodered/node-red:1.2.0-12-arm32v6-minimal |
180+
| | nodered/node-red:1.2.0-12-arm32v7-minimal |
181+
| | nodered/node-red:1.2.0-12-arm64v8-minimal |
182+
| | nodered/node-red:1.2.0-12-s390x-minimal |
183+
| | nodered/node-red:1.2.0-12-i386-minimal |
182184

183185
With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use.
184186
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.
185187

186188
Therefore all tags regarding Raspberry PI's are dropped.
187189

188-
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 `1.1.3-10-arm32v7`), and run the container.
190+
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 `1.2.0-10-arm32v7`), and run the container.
189191
```
190192
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red:latest
191193
```
192194

193-
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 (`1.1.3-10-amd64`).
195+
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 (`1.2.0-10-amd64`).
194196

195197
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.
196198

197199
**Note**: Currently there is a bug in Docker's architecture detection that fails for `arm32v6` - eg Raspberry Pi Zero or 1. For these devices you currently need to specify the full image tag, for example:
198200
```
199-
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red:1.1.3-10-minimal-arm32v6
201+
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red:1.2.0-10-minimal-arm32v6
200202
201203
```
202204

@@ -330,7 +332,7 @@ Docker build process, the dependencies are installed under `/usr/src/node-red`.
330332
The main sections to modify are
331333

332334
"dependencies": {
333-
"node-red": "^1.1.3", <-- set the version of Node-RED here
335+
"node-red": "^1.2.0", <-- set the version of Node-RED here
334336
"node-red-dashboard": "*" <-- add any extra npm packages here
335337
},
336338

@@ -384,11 +386,11 @@ This tool assumes Node-RED is available at the following address
384386

385387
Refreshing the browser page should now reveal the newly added node in the palette.
386388

387-
### Node-RED Commands from the host
389+
### Node-RED Commands from the host
388390

389391
Admin commands can also be accessed without installing npm or the
390392
node-red-admin tool on the host machine. Simply prepend your command
391-
with "npx" and apply it to the container - e.g
393+
with "npx" and apply it to the container - e.g
392394

393395
$ docker exec -it mynodered npx node-red admin hash-pw
394396

@@ -461,7 +463,7 @@ Then run nodered docker, also added to the same bridge
461463

462464
docker run -itd -p 1880:1880 --network iot --name mynodered nodered/node-red
463465

464-
containers on the same user-defined bridge can take advantage of the built in name resolution provided by the bridge and use the container name (specified using the **--name** option) as the target hostname.
466+
containers on the same user-defined bridge can take advantage of the built in name resolution provided by the bridge and use the container name (specified using the **--name** option) as the target hostname.
465467

466468

467469
In the above example the broker can be reached from the Node-RED application using hostname *mybroker*.
@@ -520,7 +522,7 @@ Let's dissect both commands:
520522
-it - attach a terminal session so we can see what is going on
521523
-p 1880:1880 - connect local port 1880 to the exposed internal port 1880
522524
-p 9229:9229 - connect local port 9229 to the exposed internal port 9229 (for debugger communication)
523-
-v node_red_data:/data - mount the internal /data to the host mode_red_data directory
525+
-v node_red_data:/data - mount the internal /data to the host mode_red_data directory
524526
--name mynodered - give this machine a friendly local name
525527
--entrypoint npm - overwrite the default entrypoint (which would run the *'start'* script)
526528
nodered/node-red - the image to base it on - currently Node-RED v1.1.0
@@ -530,7 +532,7 @@ Let's dissect both commands:
530532

531533
## Common Issues and Hints
532534

533-
Here is a list of common issues users have reported with possible solutions.
535+
Here is a list of common issues users have reported with possible solutions.
534536

535537
<br>
536538

@@ -545,11 +547,11 @@ If you are seeing *permission denied* errors opening files or accessing host dev
545547
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered -u root nodered/node-red
546548
```
547549

548-
__References:__
550+
__References:__
549551

550-
https://github.com/node-red/node-red/issues/15
552+
https://github.com/node-red/node-red/issues/15
551553

552-
https://github.com/node-red/node-red/issues/8
554+
https://github.com/node-red/node-red/issues/8
553555

554556
<br>
555557

@@ -560,9 +562,9 @@ If you want to access a device from the host inside the container, e.g. serial p
560562
```
561563
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered --device=/dev/ttyACM0 nodered/node-red
562564
```
563-
__References:__
565+
__References:__
564566

565-
https://github.com/node-red/node-red/issues/15
567+
https://github.com/node-red/node-red/issues/15
566568

567569
<br>
568570

@@ -574,8 +576,8 @@ If you want to modify the default timezone, use the TZ environment variable with
574576
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered -e TZ=Europe/London nodered/node-red
575577
```
576578

577-
__References:__
579+
__References:__
578580

579-
https://groups.google.com/forum/#!topic/node-red/ieo5IVFAo2o
581+
https://groups.google.com/forum/#!topic/node-red/ieo5IVFAo2o
580582

581583
<br>

0 commit comments

Comments
 (0)