@@ -12,7 +12,7 @@ node_selection=$(whiptail --title "Node-RED nodes" --checklist --separate-output
1212 " node-red-configurable-ping" " " " ON" \
1313 " node-red-node-openweathermap" " " " OFF" \
1414 " node-red-contrib-discord" " " " OFF" \
15- " node-red-node-email" " " " on " \
15+ " node-red-node-email" " " " OFF " \
1616 " node-red-node-google" " " " OFF" \
1717 " node-red-node-emoncms" " " " OFF" \
1818 " node-red-node-geofence" " " " OFF" \
@@ -21,13 +21,16 @@ node_selection=$(whiptail --title "Node-RED nodes" --checklist --separate-output
2121 " node-red-node-smooth" " " " OFF" \
2222 " node-red-node-darksky" " " " OFF" \
2323 " node-red-node-sqlite" " " " OFF" \
24+ " node-red-node-serialport" " " " OFF" \
2425 " node-red-contrib-config" " " " OFF" \
2526 " node-red-contrib-grove" " " " OFF" \
2627 " node-red-contrib-diode" " " " OFF" \
28+ " node-red-contrib-sunevents" " " " OFF" \
2729 " node-red-contrib-bigtimer" " " " OFF" \
2830 " node-red-contrib-esplogin" " " " OFF" \
2931 " node-red-contrib-timeout" " " " OFF" \
3032 " node-red-contrib-moment" " " " OFF" \
33+ " node-red-contrib-telegrambot" " " " OFF" \
3134 " node-red-contrib-particle" " " " OFF" \
3235 " node-red-contrib-web-worldmap" " " " OFF" \
3336 " node-red-contrib-ramp-thermostat" " " " OFF" \
@@ -41,6 +44,13 @@ node_selection=$(whiptail --title "Node-RED nodes" --checklist --separate-output
4144 " node-red-contrib-heater-controller" " " " OFF" \
4245 " node-red-contrib-deconz" " " " OFF" \
4346 " node-red-contrib-generic-ble" " " " OFF" \
47+ " node-red-contrib-zigbee2mqtt" " " " OFF" \
48+ " node-red-contrib-vcgencmd" " " " OFF" \
49+ " node-red-contrib-themes/midnight-red" " " " OFF" \
50+ " node-red-contrib-tf-function" " " " OFF" \
51+ " node-red-contrib-tf-model" " " " OFF" \
52+ " node-red-contrib-post-object-detection" " " " OFF" \
53+ " node-red-contrib-bert-tokenizer" " " " OFF" \
4454 3>&1 1>&2 2>&3 )
4555
4656# #echo "$check_selection"
@@ -50,12 +60,33 @@ nr_dfile=./services/nodered/Dockerfile
5060
5161sqliteflag=0
5262
53- touch $nr_dfile
54- echo " FROM nodered/node-red:latest-12" > $nr_dfile
63+ # initialise Dockerfile ('EOT' syntax avoids bash substitutions)
64+ cat << -'EOT ' >"$nr_dfile"
65+ # reference argument - omitted defaults to latest
66+ ARG DOCKERHUB_TAG=latest
5567
56- echo " USER root" >> $nr_dfile
57- echo " RUN apk update && apk add --no-cache eudev-dev" >> $nr_dfile
58- echo " USER node-red" >> $nr_dfile
68+ # Download base image
69+ FROM nodered/node-red:${DOCKERHUB_TAG}
70+
71+ # reference argument - omitted defaults to null
72+ ARG EXTRA_PACKAGES
73+ ENV EXTRA_PACKAGES=${EXTRA_PACKAGES}
74+
75+ # default user is node-red - need to be root to install packages
76+ USER root
77+
78+ # install packages
79+ RUN apk update && apk add --no-cache eudev-dev ${EXTRA_PACKAGES}
80+
81+ # switch back to default user
82+ USER node-red
83+
84+ # variable not needed inside running container
85+ ENV EXTRA_PACKAGES=
86+
87+ # add-on nodes follow
88+
89+ EOT
5990
6091# node red install script inspired from https://tech.scargill.net/the-script/
6192echo " RUN for addonnodes in \\ " >> $nr_dfile
0 commit comments