Dernière mise à jour le 24 mars 2024

Comment installer Node-Red sur Docker avec Home Assistant !
Node-Red c’est quoi ?
Pour commencer, bonjour et bienvenue sur mon blog Technologie Geek ! Aujourd’hui, domotique et virtualisation. Voyons comment installer Node-Red sur Docker avec Home Assistant. Node-Red est une plateforme qui vous permet de développer visuellement vos flux de données. Vous pouvez connecter et automatiser des périphériques ainsi que des services et des applications de manière intuitive. En installant Node-Red sur Docker vous disposez également d’une interface graphique agréable et facile à utiliser.
Node-RED vous permet de prendre en charge une large gamme de protocoles de communication et d’intégrations, tels que MQTT, HTTP, JSON, mais aussi des bases de données et des services cloud. Vous pouvez utiliser Node-Red sur Docker dans divers domaines tels que l’automatisation industrielle, l’Internet des objets (IoT), la domotique, la gestion des données et les intégrations système. Il est facile à installer et à déployer sur différents systèmes d’exploitation, y compris les ordinateurs de bureau, les serveurs et les périphériques embarqués.
Que nous faut-il ?
Pour notre test, il vous faut :
- Premièrement Home Assistant.
- Ensuite, Docker.
- Enfin, Portainer.
Installation de Node-Red sur Docker avec Home Assistant :
Tout d’abord, vous devez déployer votre conteneur Node-Red sur Docker, pour cela rendez vous dans Portainer. Maintenant aller dans votre environnement local puis dans « Stacks » et enfin cliquer sur « Add stack ». Ensuite, dans « Name » donner un nom à votre stack, coller le code ci-dessous dans « web editor » et enfin déployer votre conteneur. Votre conteneur va démarrer puis s’arrêter immédiatement ! c’est normal lisez la suite.
version: "3.8"
services:
node-red:
image: nodered/node-red:latest
environment:
- TZ=Europe/Paris
ports:
- "1880:1880"
networks:
- node-red-net
volumes:
- /mnt/node-red/data:/data
networks:
node-red-net:
Lors de l’installation de Node-Red sur Docker, votre volume pour le répertoire de données a été créé par et appartient à notre utilisateur « root », dont l’identifiant est « uid=0 gid=0 ». L’utilisateur Node-Red à l’intérieur du conteneur, qui possède le répertoire /data, a cependant des identifiants différents : « uid=1000 gid=1000 ». Vous pouvez résoudre ce problème en vous connectant en SSH sur votre serveur et changer la propriété du volume Docker à l’utilisateur avec l’ID 1000:1000 en exécutant la commande suivante :
Je suis connecté en « root », la commande « sudo » n’est pas utile, mais je vous la met au cas ou.
sudo chown -R 1000:1000 /mnt/node-red/data
Ensuite, démarrer votre conteneur Node-Red puis rendez vous à l’adresse « http://ip de votre serveur:1880 ». Pour ma part « http//192.168.1.248:1880 ».
Node-Red dans Home Assistant :
Premièrement, ajoutons maintenant un raccourci Node-Red dans Home Assistant. Pour cela vous devez modifier le fichier « configuration.yaml ». Connectez vous en SSH sur votre serveur, puis aller dans le dossier config de votre conteneur Home Assistant pour ma part « mnt/ha/config ». Enfin, éditer votre fichier avec « nano ».
sudo nano configuration.yaml
Pour finir l’intégration de Node-Red dans Home Assistant sur Docker, copier le code suivant puis coller le dans votre fichier configuration.yaml. Bien sûr, dans « url » il vous faut mettre l’adresse IP de votre serveur puis redémarrer votre Home Assistant.
panel_iframe:
nodered:
title: Node-RED
icon: mdi:lan
url: http://xxx.xxx.x.xxxx:1880/
require_admin: true
Configuration de Node-Red dans Home Assistant :
Tout d’abord, pour faire fonctionner Node-Red avec Home Assistant sur Docker, vous devez créer un jeton d’accès longue durée. Pour cela, cliquer sur votre nom d’utilisateur puis créer un jeton et enfin donné lui un nom. Copier le jeton et garder le, Home Assistant ne l’affiche qu’une seul fois.
Ensuite, aller dans Node-Red, cliquer sur les trois barres en haut à droite puis « Manage palette » et sélectionner l’onglet « Install ». Rechercher maintenant « node-red-contrib-home-assistant-websocket » et cliquer sur « Install ».
Pour continuer, vous devez connecter Node-Red et Home Assistant. Pour cela, il faut ajouter un élément « events: all » dans le menu HA de Node-Red. Une fois l’élément ajouter, double cliquer dessus, puis dans « Name » donné lui un nom et enfin cliquer sur le crayon « Add new server… ».
Pour finir l’installation, il faut entrer les informations de connexion. Donner lui un nom, ajouter l’adresse de votre Home Assistant ainsi que le jeton d’accès créer au début puis enregistrer et enfin cliquer sur « Deploy ».


Voila, l’installation est terminée. Vous pouvez maintenant ajouter mqtt par exemple et commencer à créer vos flux de données !
-
ESPHome sur Docker et Home Assistant -
Comment installer ioBroker sur Docker -
Home Assistant sur votre NSPanel Pro -
Flasher le NSPanel avec Tasmota et Lovelace-ui -
Un assistant vocal intégré à Home Assistant -
Flash Sonoff Zigbee Bridge Pro
7 réponses à “Node-Red et Home Assistant sur Docker”
merci !
Article qui explique bien la manip pour node-red pour HA !Merci pour le commentaire !!
Merci beaucoup pour le tuto!
J’ai un problème lorsque je redémarre la box j’ai une erreur avec le code erreur 143.
Si je le démarre manuellement après l’erreur tous fonctionne correctement.
J’ai pourtant bien appliqué la ligne « sudo chown -R 1000:1000 /mnt/node-red/data ».
Une idée?Bonjour,
Premièrement, peut-tu me dire sur quel matériel (box ???) et quel OS as-tu installé Docker.
Ensuite, peut-tu me transmettre les logs lorsque tu as l’erreur.Essaye d’ajouter « restart: always » à la fin ton docker compose.
Merci Stéphane pour ton retour rapide. (raspberry pi 5/ avec Docker oui)
Le fais d’ajouter restart: always fonctionne.
Merci beaucoup.
version: « 3.8 »
services:
node-red:
image: nodered/node-red:latest
environment:
– TZ=Europe/Paris
ports:
– « 1880:1880 »
networks:
– node-red-net
restart: always
volumes:
– /mnt/node-red/data:/data
networks:
node-red-net:Voici mon log pour info:
2024-12-01T15:25:18.560075431Z 1 Dec 16:25:18 – [info]
2024-12-01T15:25:18.560126598Z
2024-12-01T15:25:18.560131690Z Welcome to Node-RED
2024-12-01T15:25:18.560133838Z ===================
2024-12-01T15:25:18.560135561Z
2024-12-01T15:25:18.561066617Z 1 Dec 16:25:18 – [info] Node-RED version: v4.0.5
2024-12-01T15:25:18.561393007Z 1 Dec 16:25:18 – [info] Node.js version: v20.18.0
2024-12-01T15:25:18.561568062Z 1 Dec 16:25:18 – [info] Linux 6.6.51+rpt-rpi-2712 arm64 LE
2024-12-01T15:25:18.733609951Z 1 Dec 16:25:18 – [info] Loading palette nodes
2024-12-01T15:25:19.689447176Z 1 Dec 16:25:19 – [info] node-red-contrib-home-assistant-websocket v0.74.2 nodes initialized
2024-12-01T15:25:19.851096997Z 1 Dec 16:25:19 – [info] Settings file : /data/settings.js
2024-12-01T15:25:19.851898424Z 1 Dec 16:25:19 – [info] Context store : ‘default’ [module=memory]
2024-12-01T15:25:19.853054722Z 1 Dec 16:25:19 – [info] User directory : /data
2024-12-01T15:25:19.854274057Z 1 Dec 16:25:19 – [warn] Projects disabled : editorTheme.projects.enabled=false
2024-12-01T15:25:19.854871539Z 1 Dec 16:25:19 – [info] Flows file : /data/flows.json
2024-12-01T15:25:19.875027785Z 1 Dec 16:25:19 – [info] Server now running at http://X.X.X.X:XXXX/
2024-12-01T15:25:19.889734895Z 1 Dec 16:25:19 – [warn]
2024-12-01T15:25:19.889765636Z
2024-12-01T15:25:19.889769191Z ———————————————————————
2024-12-01T15:25:19.889771728Z Your flow credentials file is encrypted using a system-generated key.
2024-12-01T15:25:19.889773951Z
2024-12-01T15:25:19.889775691Z If the system-generated key is lost for any reason, your credentials
2024-12-01T15:25:19.889777710Z file will not be recoverable, you will have to delete it and re-enter
2024-12-01T15:25:19.889779969Z your credentials.
2024-12-01T15:25:19.889781877Z
2024-12-01T15:25:19.889783691Z You should set your own key using the ‘credentialSecret’ option in
2024-12-01T15:25:19.889785988Z your settings file. Node-RED will then re-encrypt your credentials
2024-12-01T15:25:19.889788080Z file using your chosen key the next time you deploy a change.
2024-12-01T15:25:19.889790228Z ———————————————————————
2024-12-01T15:25:19.889792154Z
2024-12-01T15:25:20.012243744Z 1 Dec 16:25:20 – [info] Starting flows
2024-12-01T15:25:20.221136343Z 1 Dec 16:25:20 – [info] Started flows
2024-12-01T15:25:20.221801955Z 1 Dec 16:25:20 – [info] [server:Home Assistant] Connecting to http://X.X.X.X:XXXX
2024-12-01T15:25:20.247296948Z 1 Dec 16:25:20 – [info] [server:Home Assistant] Connected to http://X.X.X.X:XXXX
2024-12-01T15:31:13.797270582Z 1 Dec 16:31:13 – [info] Stopping flows
2024-12-01T15:31:13.854947352Z 1 Dec 16:31:13 – [info] [server:Home Assistant] Closing connection to http://X.X.X.X:XXXX
2024-12-01T15:31:13.864801196Z 1 Dec 16:31:13 – [info] Stopped flows
2024-12-01T15:31:48.284574710Z 1 Dec 16:31:48 – [info]
2024-12-01T15:31:48.287563728Z
2024-12-01T15:31:48.287576228Z Welcome to Node-RED
2024-12-01T15:31:48.287579377Z ===================
2024-12-01T15:31:48.287581932Z
2024-12-01T15:31:48.287588303Z 1 Dec 16:31:48 – [info] Node-RED version: v4.0.5
2024-12-01T15:31:48.287590969Z 1 Dec 16:31:48 – [info] Node.js version: v20.18.0
2024-12-01T15:31:48.287593543Z 1 Dec 16:31:48 – [info] Linux 6.6.51+rpt-rpi-2712 arm64 LE
2024-12-01T15:31:48.573910173Z 1 Dec 16:31:48 – [info] Loading palette nodes
2024-12-01T15:31:50.770735412Z 1 Dec 16:31:50 – [info] node-red-contrib-home-assistant-websocket v0.74.2 nodes initialized
2024-12-01T15:31:51.066949893Z 1 Dec 16:31:51 – [info] Settings file : /data/settings.js
2024-12-01T15:31:51.067516116Z 1 Dec 16:31:51 – [info] Context store : ‘default’ [module=memory]
2024-12-01T15:31:51.068319782Z 1 Dec 16:31:51 – [info] User directory : /data
2024-12-01T15:31:51.068674708Z 1 Dec 16:31:51 – [warn] Projects disabled : editorTheme.projects.enabled=false
2024-12-01T15:31:51.069480782Z 1 Dec 16:31:51 – [info] Flows file : /data/flows.json
2024-12-01T15:31:51.105478875Z 1 Dec 16:31:51 – [info] Server now running at http://X.X.X.X:XXXX
2024-12-01T15:31:51.118375116Z 1 Dec 16:31:51 – [warn]
2024-12-01T15:31:51.118403930Z
2024-12-01T15:31:51.118407153Z ———————————————————————
2024-12-01T15:31:51.118410245Z Your flow credentials file is encrypted using a system-generated key.
2024-12-01T15:31:51.118412930Z
2024-12-01T15:31:51.118415356Z If the system-generated key is lost for any reason, your credentials
2024-12-01T15:31:51.118418023Z file will not be recoverable, you will have to delete it and re-enter
2024-12-01T15:31:51.118420782Z your credentials.
2024-12-01T15:31:51.118423227Z
2024-12-01T15:31:51.118425523Z You should set your own key using the ‘credentialSecret’ option in
2024-12-01T15:31:51.118428116Z your settings file. Node-RED will then re-encrypt your credentials
2024-12-01T15:31:51.118431042Z file using your chosen key the next time you deploy a change.
2024-12-01T15:31:51.118433579Z ———————————————————————
2024-12-01T15:31:51.118436190Z
2024-12-01T15:31:51.176618282Z 1 Dec 16:31:51 – [info] Starting flows
2024-12-01T15:31:51.401629393Z 1 Dec 16:31:51 – [info] Started flows
2024-12-01T15:31:51.413108375Z 1 Dec 16:31:51 – [info] [server:Home Assistant] Connecting to http://X.X.X.X:XXXX
2024-12-01T15:31:51.435349412Z 1 Dec 16:31:51 – [info] [server:Home Assistant] Connected to http://X.X.X.X:XXXX
2024-12-01T15:25:18.560075431Z 1 Dec 16:25:18 – [info]
2024-12-01T15:25:18.560126598Z
2024-12-01T15:25:18.560131690Z Welcome to Node-RED
2024-12-01T15:25:18.560133838Z ===================
2024-12-01T15:25:18.560135561Z
2024-12-01T15:25:18.561066617Z 1 Dec 16:25:18 – [info] Node-RED version: v4.0.5
2024-12-01T15:25:18.561393007Z 1 Dec 16:25:18 – [info] Node.js version: v20.18.0
2024-12-01T15:25:18.561568062Z 1 Dec 16:25:18 – [info] Linux 6.6.51+rpt-rpi-2712 arm64 LE
2024-12-01T15:25:18.733609951Z 1 Dec 16:25:18 – [info] Loading palette nodes
2024-12-01T15:25:19.689447176Z 1 Dec 16:25:19 – [info] node-red-contrib-home-assistant-websocket v0.74.2 nodes initialized
2024-12-01T15:25:19.851096997Z 1 Dec 16:25:19 – [info] Settings file : /data/settings.js
2024-12-01T15:25:19.851898424Z 1 Dec 16:25:19 – [info] Context store : ‘default’ [module=memory]
2024-12-01T15:25:19.853054722Z 1 Dec 16:25:19 – [info] User directory : /data
2024-12-01T15:25:19.854274057Z 1 Dec 16:25:19 – [warn] Projects disabled : editorTheme.projects.enabled=false
2024-12-01T15:25:19.854871539Z 1 Dec 16:25:19 – [info] Flows file : /data/flows.json
2024-12-01T15:25:19.875027785Z 1 Dec 16:25:19 – [info] Server now running at http://X.X.X.X:XXXX/
2024-12-01T15:25:19.889734895Z 1 Dec 16:25:19 – [warn]
2024-12-01T15:25:19.889765636Z
2024-12-01T15:25:19.889769191Z ———————————————————————
2024-12-01T15:25:19.889771728Z Your flow credentials file is encrypted using a system-generated key.
2024-12-01T15:25:19.889773951Z
2024-12-01T15:25:19.889775691Z If the system-generated key is lost for any reason, your credentials
2024-12-01T15:25:19.889777710Z file will not be recoverable, you will have to delete it and re-enter
2024-12-01T15:25:19.889779969Z your credentials.
2024-12-01T15:25:19.889781877Z
2024-12-01T15:25:19.889783691Z You should set your own key using the ‘credentialSecret’ option in
2024-12-01T15:25:19.889785988Z your settings file. Node-RED will then re-encrypt your credentials
2024-12-01T15:25:19.889788080Z file using your chosen key the next time you deploy a change.
2024-12-01T15:25:19.889790228Z ———————————————————————
2024-12-01T15:25:19.889792154Z
2024-12-01T15:25:20.012243744Z 1 Dec 16:25:20 – [info] Starting flows
2024-12-01T15:25:20.221136343Z 1 Dec 16:25:20 – [info] Started flows
2024-12-01T15:25:20.221801955Z 1 Dec 16:25:20 – [info] [server:Home Assistant] Connecting to http://X.X.X.X:XXXX
2024-12-01T15:25:20.247296948Z 1 Dec 16:25:20 – [info] [server:Home Assistant] Connected to http://X.X.X.X:XXXX
2024-12-01T15:31:13.797270582Z 1 Dec 16:31:13 – [info] Stopping flows
2024-12-01T15:31:13.854947352Z 1 Dec 16:31:13 – [info] [server:Home Assistant] Closing connection to http://X.X.X.X:XXXX
2024-12-01T15:31:13.864801196Z 1 Dec 16:31:13 – [info] Stopped flows
2024-12-01T15:31:48.284574710Z 1 Dec 16:31:48 – [info]
2024-12-01T15:31:48.287563728Z
2024-12-01T15:31:48.287576228Z Welcome to Node-RED
2024-12-01T15:31:48.287579377Z ===================
2024-12-01T15:31:48.287581932Z
2024-12-01T15:31:48.287588303Z 1 Dec 16:31:48 – [info] Node-RED version: v4.0.5
2024-12-01T15:31:48.287590969Z 1 Dec 16:31:48 – [info] Node.js version: v20.18.0
2024-12-01T15:31:48.287593543Z 1 Dec 16:31:48 – [info] Linux 6.6.51+rpt-rpi-2712 arm64 LE
2024-12-01T15:31:48.573910173Z 1 Dec 16:31:48 – [info] Loading palette nodes
2024-12-01T15:31:50.770735412Z 1 Dec 16:31:50 – [info] node-red-contrib-home-assistant-websocket v0.74.2 nodes initialized
2024-12-01T15:31:51.066949893Z 1 Dec 16:31:51 – [info] Settings file : /data/settings.js
2024-12-01T15:31:51.067516116Z 1 Dec 16:31:51 – [info] Context store : ‘default’ [module=memory]
2024-12-01T15:31:51.068319782Z 1 Dec 16:31:51 – [info] User directory : /data
2024-12-01T15:31:51.068674708Z 1 Dec 16:31:51 – [warn] Projects disabled : editorTheme.projects.enabled=false
2024-12-01T15:31:51.069480782Z 1 Dec 16:31:51 – [info] Flows file : /data/flows.json
2024-12-01T15:31:51.105478875Z 1 Dec 16:31:51 – [info] Server now running at http://X.X.X.X:XXXX
2024-12-01T15:31:51.118375116Z 1 Dec 16:31:51 – [warn]
2024-12-01T15:31:51.118403930Z
2024-12-01T15:31:51.118407153Z ———————————————————————
2024-12-01T15:31:51.118410245Z Your flow credentials file is encrypted using a system-generated key.
2024-12-01T15:31:51.118412930Z
2024-12-01T15:31:51.118415356Z If the system-generated key is lost for any reason, your credentials
2024-12-01T15:31:51.118418023Z file will not be recoverable, you will have to delete it and re-enter
2024-12-01T15:31:51.118420782Z your credentials.
2024-12-01T15:31:51.118423227Z
2024-12-01T15:31:51.118425523Z You should set your own key using the ‘credentialSecret’ option in
2024-12-01T15:31:51.118428116Z your settings file. Node-RED will then re-encrypt your credentials
2024-12-01T15:31:51.118431042Z file using your chosen key the next time you deploy a change.
2024-12-01T15:31:51.118433579Z ———————————————————————
2024-12-01T15:31:51.118436190Z
2024-12-01T15:31:51.176618282Z 1 Dec 16:31:51 – [info] Starting flows
2024-12-01T15:31:51.401629393Z 1 Dec 16:31:51 – [info] Started flows
2024-12-01T15:31:51.413108375Z 1 Dec 16:31:51 – [info] [server:Home Assistant] Connecting to http://X.X.X.X:XXXX
2024-12-01T15:31:51.435349412Z 1 Dec 16:31:51 – [info] [server:Home Assistant] Connected to http://X.X.X.X:XXXXContent de t’avoir aidé !
Laisser un commentaire