Synology + Node-RED

Following a feature request for ‘UPS status tracking’, Guim31 told me he was currently doing this with Node-RED and displaying the values in Gladys with fake MQTT devices.

Consequently, I wanted to use the Node-RED Gladys integration to see what it was about, before watching the video on the subject for advanced users.

During the integration, no issues. The ergonomic tracking of the process shows green links. Except that Node-RED goes into a loop and restarts endlessly. I managed to retrieve this log from the gladys-node-red container, right-click and terminal (fleeting access):

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

The log comes from the gladys-node-red container, right-click and terminal (fleeting access).

Before versions 4.79 and 4.80, I already had the problem that had been mentioned, but it seemed to be outside the integration…

The primary goal is to make this integration possible without any issues in a Synology environment. Am I the only one?

Last precision: my server already has its memory usage at 57% on 1 GB…of which the container 239 MB… to be seen later if usage.

Hello @JPPUYB,

Thanks for the detailed feedback, and no, you’re probably not the only one on Synology; this is a case we see quite often with Docker on NAS.

Diagnosis

The error is quite clear:

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

The gladys-node-red container mounts the Gladys data folder (…/node-red on the NAS) to /data in the container. On startup, Node-RED tries to create a node_modules folder to install its dependencies but lacks write permissions on this volume.

Gladys normally fixes this by setting the folder ownership to user 1000:1000 (the standard user in the Node-RED image), but on Synology, this chown can fail silently due to DSM/ACL permissions. The container then restarts in a loop due to the restart: always policy.

Fix to Try

  1. Stop the loop: in Container Manager, stop the gladys-node-red container (or temporarily disable Node-RED in Gladys → Integrations → Node-RED).
  2. Find the actual path of the folder (via SSH on the NAS):
docker inspect gladys --format '{{range .Mounts}}{{if eq .Destination "/var/lib/gladysassistant"}}{{.Source}}{{end}}{{end}}'

The Node-RED folder will be {this_path}/node-red.

  1. Fix permissions:
sudo chown -R 1000:1000 /path/to/gladysassistant/node-red
sudo chmod -R 755 /path/to/gladysassistant/node-red
  1. Restart: re-enable Node-RED in Gladys, or restart the gladys-node-red container.

If chown fails over SSH, check in Control Panel → Shared Folder → Permissions that the Docker/Gladys folder is accessible for read/write.

Memory Note

With only 1 GB of RAM in total and already ~57% usage, Gladys + Node-RED + DSM is very tight (the Node-RED container alone can reach ~250 MB).

If, after fixing permissions, Node-RED starts but remains unstable, RAM will likely be the limiting factor.

I think that in 2026, having at least 4 GB of RAM (8 GB recommended) on your home automation setup is the best way to ensure a durable and stable configuration :slight_smile:

Path found by search: volume1/user/docker/gladysassistant/node-red and at the same level zigbee2mqtt, homekit and matter, i.e., the containers as well as the files mentioned in my backup topic: gladysproduction; visible part in File Station.

I therefore analyzed the situation from the angle of the LINUX instructions you proposed: no matches with the paths on the Synology LINUX. It’s true that it’s not a distribution, but according to their needs, let’s remember the USB port issues. The scope seems to be within the docker, which is ultimately a container environment without LINUX and therefore well isolated. I’ve looked all over and no way to create directories: permission denied.

Previously for Gladys, I wanted to change the port and after stopping it, I used the duplication function by changing the port. Finally, activating the duplication, I have a gladys-1 container…

I used the same duplication method and the new nodered-node-red-1, no looping…

I noticed that the port 32769 was generated. Based on this, I copied the link of the node-red integration by changing the port in my browser. Result: I arrive at the node-red interface below.:star_struck:

Duplicating node-red via the container allows access to the .json metadata. Same principle for other containers.

However, disabling and then re-enabling in the integration interface results in a return to the previous situation, i.e., a node-red container that starts looping, so stop and delete.

Memory used by the container: 296 MB

Total memory used between 57 and 61% of 1 GB.

However, the name is not Gladys-node-red and there is no flow storage or password request…

The permissions are correct.

Ultimately the path is /volume1/docker/gladysassistant/node-red, it seems to have been created after a first installation by integration. Obviously looping and stopping.

I run the commands via SSH:

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

This time I am indeed in Gladys-node-red with a password request…

After installing node-red, memory usage is at 50…