Synology + Node-RED

À la suite d’une demande de fonctionnalité ‘suivi état des onduleurs’, Guim31 m’a indiqué qu’il faisait actuellement grâce à Node-RED et affichait les valeurs dans Gladys avec des fake devices MQTT.

En conséquence, j’ai voulu utiliser l’intégration Node-RED Gladys pour voir de quoi il s’agissait, ce avant d’avoir vu la vidéo sur le sujet pour utilisateur averti.

Lors de l’intégration, pas de soucis. Le suivi ergonomique de déroulement laisse apparaître des liens en vert. Sauf que Node-RED se met en boucle et se relance sans fin. Il m’est arrivé de récupérer ce log du conteneur ligne gladys-node-red, clic droit et terminal (accès fugitif) :

15 Jun 16:58:34 - [error] Error: EACCES: permission denied, mkdir ‹ /data/node_modules ›
15 Jun 16:58:34 - [error] Failed to start server:

Le log vient du conteneur ligne gladys-node-red, clic droit et terminal (accès fugitif).

Avant la 4.79 et la 4.80, j’avais déjà le problème qui a déjà été évoqué, mais il me semble hors intégration…

L’objectif premier est de rendre possible sans problème cette intégration en environnement Synology. Suis-je le seul ?

Dernière précision : mon serveur voit déjà son utilisation mémoire à 57% sur 1 GB…dont le conteneur 239 MB… à voir par la suite si utilisation.

Bonjour @JPPUYB,

Merci pour le retour détaillé, et non, tu n’es probablement pas le seul sur Synology, c’est un cas qu’on voit assez souvent avec Docker sur NAS.

Diagnostic

L’erreur est assez claire :

EACCES: permission denied, mkdir '/data/node_modules'

Le conteneur gladys-node-red monte le dossier de données Gladys (…/node-red sur le NAS) vers /data dans le conteneur. Au démarrage, Node-RED essaie de créer un dossier node_modules pour installer ses dépendances, mais n’a pas les droits d’écriture sur ce volume.

Gladys tente normalement de corriger ça en passant le dossier en propriété de l’utilisateur 1000:1000 (l’utilisateur standard de l’image Node-RED), mais sur Synology ce chown peut échouer silencieusement à cause des permissions DSM / ACL. Le conteneur redémarre ensuite en boucle à cause de la politique restart: always.

Correctif à essayer

  1. Arrêter la boucle : dans Container Manager, arrêtez le conteneur gladys-node-red (ou désactivez temporairement Node-RED dans Gladys → Intégrations → Node-RED).
  2. Trouver le chemin réel du dossier (en SSH sur le NAS) :
docker inspect gladys --format '{{range .Mounts}}{{if eq .Destination "/var/lib/gladysassistant"}}{{.Source}}{{end}}{{end}}'

Le dossier Node-RED sera {ce_chemin}/node-red.

  1. Corriger les permissions :
sudo chown -R 1000:1000 /chemin/vers/gladysassistant/node-red
sudo chmod -R 755 /chemin/vers/gladysassistant/node-red
  1. Relancer : réactivez Node-RED dans Gladys, ou redémarrez le conteneur gladys-node-red.

Si le chown échoue en SSH, vérifiez dans Panneau de configuration → Dossier partagé → Permissions que le dossier Docker/Gladys est accessible en lecture/écriture.

Point mémoire

Avec 1 Go de RAM au total et déjà ~57 % d’utilisation, Gladys + Node-RED + DSM reste très juste (le conteneur Node-RED seul peut monter à ~250 Mo).

Si après correction des permissions Node-RED démarre mais reste instable, la RAM sera probablement le facteur limitant.

Je pense qu’en 2026, avoir au minimum 4 Go de RAM (8 Go recommandé) sur son installation domotique, c’est le meilleur moyen d’avoir une configuration durable et stable :slight_smile:

J’ai donc analysé la situation sous l’angle des instructions en LINUX que tu as proposé : pas de correspondances avec les chemins sur le LINUX Synology. IL est vrai qu’il relève pas d’une distribution mais selon leurs besoins, souvenons-nous des problèmes de ports USB.. Le périmètre semble tenir dans le docker qui finalement est un environnement container sans LINUX et donc bien cloisonné. J’ai fouiné un peu partout et pas moyen de créer des répertoires : permission denied.

pour docker inspect :

permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get « http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/gladys/json »: dial unix /var/run/docker.sock: connect: permission denied

Aije raté quelque chose … je vais rechercher avec putty..

Les permissions sont correctes.

En définitive le chemin est /volume1/docker/gladysassistant/node-red, il me semble avoir été créé après une première installation par intégration. Evidemment bouclage et arrêt.

je passe en SSH les commandes :

sudo chown -R 1000:1000 /volume1/docker/gladysassistant/node-red
sudo chmod -R 755 /volume1/docker/gladysassistant/node-red

Cette fois- ci je suis bien dans Gladys-node-red avec demande de mot de passe…

Les répertoires :

volume1/docker/gladysassistant/node-red/lib/flows

volume1/docker/gladysassistant/node-red/node-modules

ont été créés.

Après installation et relance node-red occupation mémoire 50%…

1 GB DDR4 non-ECC

Realtek RTD1619B

1,7 Ghz

Deux disques de 4T en raid.

je verrais à l usage…

Merci pour l assistance.

JP