IOTstack – aktualizace Node.js v12 pro Node-RED
Ve výchozím stavu po instalaci IOTstack s kontejnerem Node-RED je Node.js ve verzi 10.23.2. Ne všechny pluginy v Node-RED akceptují starší verzi (typicky třeba plugin pro vysavače Roborock) a je třeba nainstalovat verzi novější.
Přihlásíme se tedy přes Terminál v MACu (Win v obdobné aplikaci, třeba PuTTY) na své zařízení příkazem ssh@pi xx.xx.xx.xx
a vložíme heslo.
Jako první zkontrolujeme aktuální verzi příkazem:
docker exec nodered node --version

Pokud je vypsaná verze řady 10.x, přejdeme k dalšímu kroku. Otevřeme soubor pro úpravu příkazem:
sudo nano ~/IOTstack/services/nodered/Dockerfile
Celý text smažeme a nahradíme novým textem (povšimněte si zejména změny v prvním řádku, kde místo latest
na konci je latest-12
):

FROM nodered/node-red:latest-12
USER root
RUN apk update && apk add --no-cache eudev-dev
USER node-red
RUN npm install \
node-red-node-pi-gpiod \
node-red-dashboard \
node-red-contrib-influxdb \
node-red-contrib-boolean-logic \
node-red-node-rbe \
node-red-configurable-ping \
node-red-node-email
HEALTHCHECK NONE
Ukončíme editaci uložením stisknutím kláves CTRL+X
, poté Y
a CTRL+M
.
Následně ověříme správnost uloženého souboru příkazem:
cat ~/IOTstack/services/nodered/Dockerfile

Pokud nejsme v adresáři pi@raspberrypi:~/IOTstack $
zadáme příkaz:
cd ~/IOTstack

Následně příkaz pro provedení znovusestavení/aktualizaci:
./scripts/update.sh
V této chvíli máme několik minut čas, než vše proběhne a nakonec znovu ověříme nainstalovanou verzi Node.js příkazem:
docker exec nodered node --version

Úspěšně jsme aktualizovali Node.js na novější verzi.