Node-RED : installation et configuration sur Ubuntu 16.04 LTS • Domotique et objets connectés à faire soi-même

Dans les précédents tutoriels nous avons vu comment installer Node-RED sur Windows, macOS et Raspbian (Raspberry PI). Dans ce tutoriel nous allons installer Node-RED sur Ubuntu 16.04 LTS (Long Term Support) sur un mini PC à base d’Atom. Nous allons installer Node.js, npm (le gestionnaire de paquet de Node.js) et Node-RED.

Installer Node.js et npm

L’installation de Node.js est très simple sur Ubuntu 16.04 LTS car il est inclus dans les dépôts par défaut. Dans un Terminal, exécutez la commande suivante :

sudo apt-get install nodejs-legacy

Cette commande installe Node.js version v4.2.x LTS ce qui signifie que cette version sera maintenue encore 30 mois à partir de la date de publication (release date), c’est à dire le 12 octobre 2015.

Après l’installation, vérifiez la version installée.

node -v
v4.2.6

Node.js utilise un gestionnaire de paquet appelé npm (Node Package Manager). Il permet d’installer et de gérer les packages. Comme Node-RED est une “sur-couche graphique” de Node.js, il est donc nécessaire de l’installer.

sudo apt-get install npm

Une fois l’installation terminée, vérifiez la version. Si la version est retournée sans erreur, vous pouvez poursuivre l’installation de Node-RED.

npm -v
3.5.2

Installer Node-RED sur Ubuntu (16.04 LTS+)

Node-RED s’installe à l’aide du gestionnaire de paquets npm. Nous allons en profiter pour installer le module node-red-admin qui ajoute quelques outils d’administration pour Node-RED.

sudo npm install -g --unsafe-perm node-red node-red-admin

Par défaut, npm installe les paquets dans le répertoire courant. L’option -g permet d’installer les paquets de manière globale, c’est à dire qu’il seront disponibles pour tous les projets Node.js. Dans ce as, ils sont installés dans le répertoire /usr/local/bin. L’option --unsafe-perm permet de passer outre les erreurs qui peuvent se produire durant l’installation. Par exemple lorsque certains modules doivent être compilés au moment de l’installation.

Node-RED utilise le port 1880 par défaut. Il faut donc l’autoriser

sudo ufw allow 1880

Et voilà, on peut maintenant démarrer Node-RED en démarrant avec la commande node-red.

Pour y accéder, ouvrez un navigateur internet et saisissez l’URL suivante dans la barre d’adresse http://localhost:1880.

Lancer Node-RED automatiquement au démarrage

Pour pouvoir démarrer automatiquement Node-RED au démarrage d’Ubuntu, nous allons créer un script qui sera lancé par systemd.

Ouvrez un fichier vide nommé node-red.service

sudo nano /etc/systemd/system/node-red.service

Collez le contenu de ce script puis remplacez la clé UTILISATEUR par votre nom d’utilisateur. Enregistrez le fichier avec CTRL+X puis O.

[Unit]
Description=Node-RED
After=syslog.target network.target

[Service]
ExecStart=/usr/local/bin/node-red-pi --max-old-space-size=128 -v
Restart=on-failure
KillSignal=SIGINT

# log output to syslog as 'node-red'
SyslogIdentifier=node-red
StandardOutput=syslog

# non-root user to run as
WorkingDirectory=/home/UTILISATEUR/
User=UTILISATEUR
Group=UTILISATEUR

[Install]
WantedBy=multi-user.target

Quelques explications sur la configuration :

  • La première section (Unit) indique que le service doit démarrer une fois que le réseau et le service syslog sont opérationnels.
  • La section [service]. ExecStart indique le programme a démarré ainsi que les ressources allouées à son fonctionnement. Restart=on-failure permet de relancer Node-RED en cas de crash
  • Les événements seront identifiées dans le journal système (StandardOutput=syslog) avec l’identifiant node-red.

Maintenant que le fichier de configuration est prêt, on indique à systemd qu’il doit l’exécuter au démarrage.

sudo systemctl enable node-red

Démarrons-le manuellement (N’oubliez pas d’arrêter Node-RED si une autre instance est déjà en cours de fonctionnement).

sudo systemctl start node-red

Maintenant que Node-RED fonctionne comme un service, il faut passer par systemd pour l’arrêter manuellement.

sudo systemctl stop node-red

Avez-vous aimé cet article ?