Node-RED

Comment installer Node-RED sur Windows, Linux et Raspberry Pi

Un guide pratique pour installer Node-RED sur Windows, Linux, Raspberry Pi et Docker, le lancer automatiquement au démarrage, verrouiller l'éditeur et créer un premier flow abonné à un broker MQTT en direct.

Illustration de l'installation de Node-RED montrant des machines Windows, Linux et Raspberry Pi exécutant l'éditeur Node-RED connecté à un broker MQTT
Essayez-le sur votre propre broker MQTTObtenez un broker MQTT privé et managé avec l’offre Free et partez d’exemples de code prêts à l’emploi.
Essayer gratuitement Exemples de code Aucune carte bancaire requise

Vous pouvez installer Node-RED en quelques minutes sur presque n'importe quelle machine, d'un portable Windows à un Raspberry Pi posé sur une étagère d'usine. Ce guide passe en revue chaque plateforme, montre comment exécuter Node-RED en tant que service, sécurise l'éditeur et se termine par un premier flow fonctionnel abonné à un broker MQTT en direct, pour voir arriver de vrais messages.

Ce qu'il vous faut avant de commencer

Node-RED est une application Node.js : le seul véritable prérequis est donc une version de Node.js prise en charge. Node-RED 4.x nécessite Node.js 18 ou plus récent, et les versions ultérieures peuvent relever ce minimum ; utilisez donc si possible la version LTS actuelle de Node.js. Il vous faut également :

  • Un compte utilisateur autorisé à installer des logiciels (administrateur sous Windows, sudo sous Linux).
  • Un accès réseau à npm (le registre de paquets Node.js) pendant l'installation.
  • Un navigateur pour ouvrir l'éditeur sur le port 1880.
Plateforme Méthode recommandée Démarrage automatique Usage typique
Windows 10/11 Installateur Node.js + npm Avec PM2 ou un wrapper de service Développement, PC en périphérie
Debian / Ubuntu Script d'installation officiel Oui (systemd) Serveurs, passerelles
Raspberry Pi OS Script d'installation officiel Oui (systemd) Passerelles edge, labos personnels
Tout OS avec Docker Image nodered/node-red Oui (politique de redémarrage) Déploiements reproductibles

Installer Node-RED sur Windows

  1. Téléchargez l'installateur Node.js LTS (.msi) depuis nodejs.org et lancez-le avec les options par défaut. Acceptez l'option qui ajoute Node.js à votre PATH.
  2. Ouvrez une nouvelle fenêtre PowerShell et vérifiez les versions :
node --version
npm --version
  1. Installez Node-RED globalement :
npm install -g --unsafe-perm node-red
  1. Démarrez-le :
node-red

Le journal se termine par une ligne du type Server now running at http://127.0.0.1:1880/. Ouvrez cette adresse dans votre navigateur et l'éditeur s'affiche. Vos flows et vos réglages sont stockés dans C:\Users\<you>\.node-red.

Pour que Node-RED continue de tourner après la fermeture du terminal et démarre au lancement de la machine, une approche courante consiste à utiliser PM2 :

npm install -g pm2
pm2 start "$env:APPDATA\npm\node_modules\node-red\red.js" --name node-red
pm2 save

Sous Windows, PM2 a besoin d'un utilitaire supplémentaire comme pm2-installer ou d'un wrapper de service Windows pour démarrer au boot ; suivez ses instructions ou utilisez le Planificateur de tâches pour lancer pm2 resurrect à l'ouverture de session.

Installer Node-RED sur Linux et Raspberry Pi

Sur Debian, Ubuntu et Raspberry Pi OS, le projet Node-RED fournit un script d'installation qui installe une version adaptée de Node.js, installe Node-RED et configure un service systemd. Lancez-le en tant qu'utilisateur normal disposant des droits sudo, pas en tant que root :

bash <(curl -sL https://github.com/node-red/linux-installers/releases/latest/download/update-nodejs-and-nodered-deb)

Le script pose quelques questions, notamment s'il faut remplacer une installation Node.js existante et s'il faut installer les nœuds spécifiques au Pi. Une fois terminé, démarrez Node-RED et activez-le au démarrage :

node-red-start                      # démarre le service et affiche le journal en continu
sudo systemctl enable nodered.service

Commandes utiles ensuite :

node-red-stop
node-red-restart
node-red-log

Ouvrez ensuite http://<device-ip>:1880 dans votre navigateur. Pour trouver l'adresse du Pi, lancez hostname -I. Ce même script est le moyen le plus simple de mettre à jour plus tard : relancez-le et il met à jour Node.js et Node-RED sur place. Tous les détails et options figurent dans la documentation officielle de prise en main de Node-RED.

Sur les autres distributions, installez Node.js LTS depuis votre gestionnaire de paquets ou NodeSource, lancez sudo npm install -g --unsafe-perm node-red, puis créez votre propre unité systemd.

Installer Node-RED avec Docker

Si vous utilisez déjà des conteneurs, Docker est l'option la plus propre, car mises à jour et retours arrière se résument à des tags d'image :

docker volume create node_red_data
docker run -d --name nodered --restart unless-stopped \
  -p 1880:1880 -v node_red_data:/data nodered/node-red:latest

Le volume /data contient vos flows, vos identifiants et les nœuds installés, qui survivent ainsi aux mises à jour du conteneur. Pour une version figée, remplacez latest par un tag précis. Notre guide Node-RED avec Docker couvre Docker Compose, les variables d'environnement et les sauvegardes.

Sécuriser l'éditeur avant de l'exposer

Par défaut, l'éditeur n'a pas de connexion. C'est acceptable sur 127.0.0.1, mais sur un Raspberry Pi ou un serveur, n'importe qui sur le réseau peut ouvrir le port 1880 et exécuter du code arbitraire via un nœud Function ou Exec. Avant d'utiliser Node-RED sur un réseau partagé :

  1. Générez un hachage de mot de passe :
node-red admin hash-pw
  1. Modifiez settings.js dans votre répertoire utilisateur (~/.node-red/settings.js) et activez adminAuth :
adminAuth: {
    type: "credentials",
    users: [{
        username: "admin",
        password: "PASTE_THE_BCRYPT_HASH_HERE",
        permissions: "*"
    }]
},
  1. Définissez un credentialSecret dans le même fichier pour que les identifiants stockés soient chiffrés avec une clé que vous maîtrisez, puis redémarrez Node-RED.

Pour HTTPS, les reverse proxies et un durcissement plus poussé, voir comment sécuriser Node-RED.

Votre premier flow MQTT après avoir installé Node-RED

Connectez maintenant Node-RED à un vrai broker. Le serveur MQTT public gratuit à l'adresse broker.connectmq.com, réservé aux tests et aux prototypes, accepte les connexions anonymes, vous pouvez donc tester sans créer de compte. Utilisez un préfixe de topic unique et n'oubliez pas que l'espace public est visible par tous.

Dans l'éditeur, ouvrez le menu (en haut à droite), choisissez Import, collez le JSON ci-dessous et cliquez sur Import :

[
  {
    "id": "c0a1b2c3d4e5f601",
    "type": "mqtt-broker",
    "name": "ConnectMQ public",
    "broker": "broker.connectmq.com",
    "port": "1883",
    "clientid": "nodered-first-4d9e",
    "autoConnect": true,
    "usetls": false,
    "protocolVersion": "4",
    "keepalive": "60",
    "cleansession": true,
    "autoUnsubscribe": true
  },
  {
    "id": "c0a1b2c3d4e5f602",
    "type": "inject",
    "name": "Send test reading",
    "props": [{ "p": "payload" }, { "p": "topic", "vt": "str" }],
    "repeat": "",
    "once": false,
    "topic": "connectmq/demo/4d9e/sensor",
    "payload": "{\"temperature\":21.5}",
    "payloadType": "json",
    "x": 160,
    "y": 80,
    "wires": [["c0a1b2c3d4e5f603"]]
  },
  {
    "id": "c0a1b2c3d4e5f603",
    "type": "mqtt out",
    "name": "Publish",
    "topic": "",
    "qos": "0",
    "retain": "false",
    "broker": "c0a1b2c3d4e5f601",
    "x": 380,
    "y": 80,
    "wires": []
  },
  {
    "id": "c0a1b2c3d4e5f604",
    "type": "mqtt in",
    "name": "Subscribe demo topics",
    "topic": "connectmq/demo/4d9e/#",
    "qos": "0",
    "datatype": "auto-detect",
    "broker": "c0a1b2c3d4e5f601",
    "nl": false,
    "rap": true,
    "rh": 0,
    "inputs": 0,
    "x": 180,
    "y": 160,
    "wires": [["c0a1b2c3d4e5f605"]]
  },
  {
    "id": "c0a1b2c3d4e5f605",
    "type": "debug",
    "name": "Show message",
    "active": true,
    "tosidebar": true,
    "console": false,
    "complete": "true",
    "targetType": "full",
    "x": 410,
    "y": 160,
    "wires": []
  }
]

Remplacez 4d9e par vos propres caractères aléatoires dans le client ID et dans les deux topics, puis cliquez sur Deploy. Les nœuds MQTT affichent un statut vert « connected ». Cliquez sur le bouton du nœud inject : la barre latérale de débogage affiche le message complet, avec payload déjà converti en objet grâce au réglage de détection automatique. Vous pouvez aussi publier depuis un autre outil, par exemple mosquitto_pub -h broker.connectmq.com -p 1883 -i cli-4d9e -t connectmq/demo/4d9e/cli -m hello, et le regarder arriver.

À partir de là, le tutoriel Node-RED MQTT approfondit les topics, la QoS, le traitement du JSON et les tableaux de bord.

Dépanner l'installation

  • node-red n'est pas reconnu (Windows) : fermez et rouvrez PowerShell pour charger le PATH mis à jour, ou vérifiez que %APPDATA%\npm figure dans le PATH.
  • Port 1880 déjà utilisé : une autre instance tourne. Arrêtez-la, ou démarrez avec node-red -p 1881.
  • Éditeur inaccessible depuis une autre machine : vérifiez le pare-feu, et assurez-vous que Node-RED n'est pas lié uniquement à localhost via uiHost dans settings.js.
  • Nœuds MQTT bloqués sur « connecting » : vérifiez l'accès sortant au port 1883, et assurez-vous que le client ID n'est pas vide ni utilisé par un autre client. Notre guide Node-RED MQTT ne se connecte pas liste d'autres causes.
  • Le script d'installation échoue sur un vieux Pi : les modèles très anciens à processeur ARMv6 ne sont peut-être pas pris en charge par les builds actuels de Node.js ; consultez la sortie de l'installateur pour savoir quoi faire.

Passer du serveur MQTT public gratuit à la production

Le serveur MQTT public gratuit est parfait pour un premier flow, mais les flows de production ont besoin d'identifiants privés et de chiffrement. Passez au port 8883 avec TLS, ce qui se résume à une case à cocher et quelques champs dans le nœud de configuration du broker ; notre guide Node-RED MQTT avec TLS vous accompagne pas à pas. Exploiter le broker vous-même implique correctifs, certificats et planification de capacité ; c'est pourquoi beaucoup d'équipes associent Node-RED à un broker MQTT managé. ConnectMQ offre à Node-RED un broker privé avec TLS sur le port 8883, des identifiants générés dans le portail et un explorateur de topics en direct pour vérifier ce que publient vos flows. Pour une vue d'ensemble, consultez notre guide du broker MQTT cloud.

Exécutez vos flows Node-RED sur ConnectMQ

Inscrivez-vous sur app.connectmq.com, choisissez l'offre gratuite Serverless sans carte bancaire, créez un broker et collez le nom d'utilisateur, le mot de passe et le client ID générés dans votre nœud de configuration mqtt-broker. Votre nouvelle installation Node-RED est alors connectée à un broker ConnectMQ privé et chiffré.

Questions fréquentes

Quelle version de Node.js faut-il pour Node-RED ?

Node-RED 4.x nécessite Node.js 18 ou plus récent. Utilisez la version LTS actuelle de Node.js, sauf contrainte particulière de votre plateforme.

Où Node-RED stocke-t-il mes flows ?

Dans le répertoire utilisateur, par défaut ~/.node-red sous Linux et macOS et C:\Users\<you>\.node-red sous Windows, ou /data dans le conteneur Docker. Sauvegardez ce dossier, flows_cred.json compris.

Comment mettre à jour Node-RED ?

Sur Debian, Ubuntu et Raspberry Pi OS, relancez le script d'installation. Avec npm, lancez npm install -g --unsafe-perm node-red. Avec Docker, récupérez une image plus récente et recréez le conteneur avec le même volume.

Peut-on installer Node-RED sans accès à Internet ?

Oui, mais vous devez prétélécharger Node.js et les paquets npm sur une autre machine puis les transférer, ou construire une image Docker ailleurs et la charger. Se connecter plus tard à un broker cloud nécessite bien sûr un accès réseau sortant.

Articles liés

Node-RED Dashboard 2.0 avec MQTT : jauges, graphiques et commandes

Un tutoriel pratique Node-RED Dashboard 2.0 : abonnez-vous à une télémétrie MQTT en direct, affichez-la sur des jauges et un graphique en courbe, et pilotez un appareil avec un interrupteur qui publie des commandes et reflète l'état réel.

9 min de lecture

Client Node-RED OPC UA vers MQTT avec des topics ISA-95

Utilisez node-red-contrib-opcua pour vous abonner aux variables OPC UA d'un automate ou d'un serveur de simulation, associer les node IDs à des topics MQTT de style ISA-95 et publier les valeurs avec leur qualité et leur horodatage.

10 min de lecture

Historique des graphiques Node-RED : conserver les données MQTT après un redémarrage

Les graphiques du Dashboard oublient tout quand Node-RED redémarre. Ce guide présente deux méthodes fiables pour conserver l'historique des graphiques Node-RED pour les données MQTT : le stockage de contexte sur fichier et une petite table SQLite, toutes deux rejouées dans Dashboard 2.0 au démarrage.

8 min de lecture

Tous les articles →

Votre broker MQTT privé, à quelques clics

Créez un compte, récupérez les identifiants de votre broker et connectez votre premier appareil — aucun serveur à installer, mettre à jour ou dimensionner.