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,
sudosous 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
- 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. - Ouvrez une nouvelle fenêtre PowerShell et vérifiez les versions :
node --version
npm --version
- Installez Node-RED globalement :
npm install -g --unsafe-perm node-red
- 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é :
- Générez un hachage de mot de passe :
node-red admin hash-pw
- Modifiez
settings.jsdans votre répertoire utilisateur (~/.node-red/settings.js) et activezadminAuth:
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "PASTE_THE_BCRYPT_HASH_HERE",
permissions: "*"
}]
},
- Définissez un
credentialSecretdans 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-redn'est pas reconnu (Windows) : fermez et rouvrez PowerShell pour charger le PATH mis à jour, ou vérifiez que%APPDATA%\npmfigure 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
uiHostdanssettings.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.



