Synology + Node-RED

Tras una solicitud de la función ‹ seguimiento del estado de los inversores ›, Guim31 me indicó que actualmente lo estaba haciendo con Node-RED y mostraba los valores en Gladys con dispositivos MQTT falsos.

Por lo tanto, quise usar la integración Node-RED Gladys para ver de qué se trataba, antes de ver el video sobre el tema para usuarios avanzados.

Durante la integración, no hubo problemas. El seguimiento ergonómico del proceso muestra enlaces en verde. Excepto que Node-RED entra en un bucle y se reinicia sin fin. Me ha ocurrido recuperar este registro del contenedor gladys-node-red, clic derecho y terminal (acceso fugaz):

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

El registro proviene del contenedor gladys-node-red, clic derecho y terminal (acceso fugaz).

Antes de la 4.79 y la 4.80, ya tenía el problema que ya se había mencionado, pero me parece que está fuera de la integración…

El objetivo principal es hacer posible esta integración sin problemas en un entorno Synology. ¿Soy el único?

Última precisión: mi servidor ya tiene su uso de memoria al 57% sobre 1 GB…incluyendo el contenedor 239 MB… habrá que ver más adelante si se utiliza.

Hola @JPPUYB,

Gracias por el informe detallado, y no, probablemente no eres el único en Synology, es un caso que vemos bastante a menudo con Docker en NAS.

Diagnóstico

El error es bastante claro:

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

El contenedor gladys-node-red monta la carpeta de datos de Gladys (…/node-red en el NAS) a /data dentro del contenedor. Al iniciar, Node-RED intenta crear una carpeta node_modules para instalar sus dependencias, pero no tiene los permisos de escritura en ese volumen.

Gladys normalmente intenta corregir esto cambiando la propiedad de la carpeta al usuario 1000:1000 (el usuario estándar de la imagen Node-RED), pero en Synology este chown puede fallar silenciosamente debido a los permisos DSM/ACL. El contenedor luego se reinicia en bucle debido a la política restart: always.

Solución a probar

  1. Detener el bucle: en Container Manager, detén el contenedor gladys-node-red (o desactiva temporalmente Node-RED en Gladys → Integraciones → Node-RED).
  2. Encontrar la ruta real de la carpeta (por SSH en el NAS):
docker inspect gladys --format '{{range .Mounts}}{{if eq .Destination "/var/lib/gladysassistant"}}{{.Source}}{{end}}{{end}}'

La carpeta Node-RED será {esta_ruta}/node-red.

  1. Corregir los permisos:
sudo chown -R 1000:1000 /ruta/vers/gladysassistant/node-red
sudo chmod -R 755 /ruta/vers/gladysassistant/node-red
  1. Reiniciar: reactiva Node-RED en Gladys, o reinicia el contenedor gladys-node-red.

Si el chown falla en SSH, verifica en Panel de control → Carpeta compartida → Permisos que la carpeta Docker/Gladys sea accesible en lectura/escritura.

Nota

Con 1 GB de RAM en total y ya ~57 % de uso, Gladys + Node-RED + DSM sigue siendo muy ajustado (el contenedor Node-RED solo puede llegar a ~250 MB).

Si después de corregir los permisos Node-RED se inicia pero sigue siendo inestable, la RAM será probablemente el factor limitante.

Creo que en 2026, tener al menos 4 GB de RAM (8 GB recomendados) en tu instalación domótica, es la mejor manera de tener una configuración duradera y estable :slight_smile:

Por lo tanto, he analizado la situación desde el punto de vista de las instrucciones de LINUX que propusiste: no hay coincidencias con las rutas en el LINUX Synology. Es cierto que no se trata de una distribución, pero según sus necesidades, recordemos los problemas de los puertos USB. El alcance parece estar dentro del docker, que al final es un entorno de contenedores sin LINUX y, por lo tanto, bien aislado. He buscado por todas partes y no hay forma de crear directorios: permiso denegado.

para 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

¿Me he perdido algo… voy a buscar con putty..

Los permisos son correctos.

Al final, la ruta es /volume1/docker/gladysassistant/node-red, parece haber sido creada después de una primera instalación por integración. Evidentemente, bucle y parada.

Ejecuto por SSH los comandos:

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

Esta vez sí estoy en Gladys-node-red con solicitud de contraseña…

Los directorios:

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

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

se han creado.

Después de la instalación y el reinicio, node-red ocupa el 50% de la memoria…

1 GB DDR4 no-ECC

Realtek RTD1619B

1,7 GHz

Dos discos de 4T en RAID.

Lo veré con el uso…

Gracias por la asistencia.

JP