You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
10 Aug 12:57:17 - [info] Server now running at http://127.0.0.1:1880/
61
+
03 Oct 12:57:17 - [info] Starting flows
62
+
03 Oct 12:57:17 - [info] Started flows
63
+
03 Oct 12:57:17 - [info] Server now running at http://127.0.0.1:1880/
62
64
63
65
[...]
64
66
65
67
You can then browse to `http://{host-ip}:1880` to get the familiar Node-RED desktop.
66
68
67
-
The advantage of doing this is that by giving it a name we can manipulate it
69
+
The advantage of doing this is that by giving it a name (mynodered) we can manipulate it
68
70
more easily, and by fixing the host port we know we are on familiar ground.
69
-
(Of course this does mean we can only run one instance at a time... but one step at a time folks...)
71
+
Of course this does mean we can only run one instance at a time... but one step at a time folks...
70
72
71
-
If we are happy with what we see we can detach the terminal with `Ctrl-p``Ctrl-q` - the container will keep running in the background.
73
+
If we are happy with what we see, we can detach the terminal with `Ctrl-p``Ctrl-q` - the
74
+
container will keep running in the background.
72
75
73
76
To reattach to the terminal (to see logging) run:
74
77
@@ -82,10 +85,6 @@ and stop it again when required:
82
85
83
86
$ docker stop mynodered
84
87
85
-
_**Note**: this Dockerfile is configured to store the flows.json file and any
86
-
extra nodes you install "outside" of the container. We do this so that you may rebuild the underlying
87
-
container without permanently losing all of your customisations._
88
-
89
88
### Image Variations
90
89
The Node-RED images come in different variations and are supported by manifest lists (auto-detect architecture).
91
90
This makes it more easy to deploy in a multi architecture Docker environment. E.g. a Docker Swarm with mix of Raspberry Pi's and amd64 nodes.
@@ -100,163 +99,160 @@ The tag naming convention is `<node-red-version>-<node-version>-<image-type>-<ar
100
99
101
100
The minimal versions (without python and build tools) are not able to install nodes that require any locally compiled native code.
102
101
102
+
For example - to run the latest minimal version, you would run
103
+
```
104
+
docker run -it -p 1880:1880 --name mynodered nodered/node-red:latest-minimal
105
+
```
106
+
103
107
The Node-RED images are based on [official Node JS Alpine Linux](https://hub.docker.com/_/node/) images to keep them as small as possible.
104
108
Using Alpine Linux reduces the built image size, but removes standard dependencies that are required for native module compilation. If you want to add dependencies with native dependencies, extend the Node-RED image with the missing packages on running containers or build new images see [docker-custom](docker-custom/README.md).
105
109
106
110
The following table shows the variety of provided Node-RED images.
With the support of Docker manifest list, there is no need to explicitly add the tag for the architecture to use.
163
167
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.
164
168
165
169
Therefore all tags regarding Raspberry PI's are dropped.
166
170
167
-
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.0.0-10-arm32v7`), and run the container.
171
+
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.0.1-10-arm32v7`), and run the container.
168
172
```
169
173
docker run -it -p 1880:1880 --name mynodered nodered/node-red:latest
170
174
```
171
175
172
-
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.0.0-10-amd64`).
176
+
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.0.1-10-amd64`).
173
177
174
178
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.
175
179
176
180
### Raspberry PI - native GPIO support
177
-
| BREAKING: Native GPIO support for Raspberry PI has been dropped!|
181
+
|v1.0 - BREAKING: Native GPIO support for Raspberry PI has been dropped |
178
182
| --- |
179
183
The replacement for native GPIO is [node-red-node-pi-gpiod](https://github.com/node-red/node-red-nodes/tree/master/hardware/pigpiod).
180
184
181
185
Disadvantages of the native GPIO support are:
182
186
- Your Docker container needs to be deployed on the same Docker node/host on which you want to control the gpio.
183
-
- Gain access to /dev/mem of your Docker node/host
187
+
- Gain access to `/dev/mem` of your Docker node/host
184
188
- privileged=true is not supported for `docker stack` command
185
189
186
-
`node-red-node-pi-gpiod`solves all these disadvantages. With `node-red-node-pi-gpiod` it is possible to interact with gpio of multiple Raspberry Pi's from a single Node-RED container, and for multiple containers to access different gpio on the same Pi.
190
+
`node-red-node-pi-gpiod`fixes all these disadvantages. With `node-red-node-pi-gpiod` it is possible to interact with gpio of multiple Raspberry Pi's from a single Node-RED container, and for multiple containers to access different gpio on the same Pi.
187
191
188
192
#### Quick Migration steps to `node-red-node-pi-gpiod`
189
-
1. Install `node-red-node-pi-gpiod` through the Node-RED pallette
193
+
1. Install `node-red-node-pi-gpiod` through the Node-RED palette
190
194
2. Install and run `PiGPIOd daemon` on the host Pi.
191
195
3. Replace all native gpio nodes with `pi gpiod` nodes.
192
-
4. Configure `pi gpiod` nodes to connect to `PiGPIOd daemon`
196
+
4. Configure `pi gpiod` nodes to connect to `PiGPIOd daemon`. Often the host machine will have an IP 172.17.0.1 port 8888 - but not always. You can use `docker exec -it mynodered ip route show default | awk '/default/ {print $3}'` to check.
193
197
194
-
For install instruction details please refer to the `node-red-node-pi-gpiod`[README](https://github.com/node-red/node-red-nodes/tree/master/hardware/pigpiod#node-red-node-pi-gpiod)
198
+
For detailed install instruction please refer to the `node-red-node-pi-gpiod`[README](https://github.com/node-red/node-red-nodes/tree/master/hardware/pigpiod#node-red-node-pi-gpiod)
195
199
196
-
### Host Directory As Volume (Persistent)
197
-
To save your Node-RED user directory inside the container to a host directory outside the container, you can use the command below.
198
-
But to allow access to this host directory, the node-red user (default uid=1000) inside the container must have the same uid as the owner of the host directory.
199
-
To override the default uid and gid of the node-red user inside the the container you can use the option `--user="<my_host_uid>:<my_host_gid>"`:
0 commit comments