EDIT: - This might be one for the QNAP forums, but I'll edit this post with more information.
I can run nodered 1.3.7 in docker on my QNAP, but I cannot run any v2.x.x container.
QNAP TS-870 Pro
QTS 4.3.6.1965 [2022/03/02]
Docker v17.09.1-ce, build 0bbe3acx
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
30 Apr 12:02:03 - [info] Node-RED version: v2.2.2
30 Apr 12:02:03 - [info] Node.js version: v14.18.2
30 Apr 12:02:03 - [info] Linux 4.2.8 x64 LE
30 Apr 12:02:03 - [info] Loading palette nodes
30 Apr 12:02:05 - [error] Failed to start server:
30 Apr 12:02:05 - [error] Error: EPERM: operation not permitted, copyfile '/data/.config.nodes.json' -> '/data/.config.nodes.json.backup'
Same for every other v2.x.x I tried with any node.js version.
Any v.1.3.7 version I tried (up to 1.3.7-12) was fine.
docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red:1.3.7
30 Apr 12:05:00 - [info] Node-RED version: v1.3.7
30 Apr 12:05:00 - [info] Node.js version: v10.24.1
30 Apr 12:05:00 - [info] Linux 4.2.8 x64 LE
30 Apr 12:05:00 - [info] Loading palette nodes
30 Apr 12:05:02 - [info] Settings file : /data/settings.js
30 Apr 12:05:02 - [info] Context store : 'default' [module=memory]
30 Apr 12:05:02 - [info] User directory : /data
30 Apr 12:05:02 - [warn] Projects disabled : editorTheme.projects.enabled=false
30 Apr 12:05:02 - [info] Flows file : /data/flows.json
30 Apr 12:05:02 - [info] Starting flows
30 Apr 12:05:02 - [info] Started flows
30 Apr 12:05:02 - [info] Server now running at http://127.0.0.1:1880/
ORIGINAL POST:
I have been trying for three days to get nodered to run in my QNAP docker.
No matter what I try I am getting the error that I have often seen reported and resolved with permissions changes.
Error: EPERM: operation not permitted, copyfile '/usr/src/node-red/node_modules/node-red/settings.js' -> '/data/settings.js'
I have read every article I can find, including:
https://nodered.org/docs/getting-started/docker#managing-user-data
https://github.com/node-red/node-red-docker/wiki/Permissions-and-Persistence
I have set the owner of my local data directory to be:
1000:1000
1000:100
(the user:group that runs docker)
0:0
(the administrator user that owns the /data folder if the folder doesn't exist.
I have given the data folder all combinations of owner:group above, with 777 permissions.
My current folders are owned by 1000:1000
[dockuser@TS870Pro1 nodered]$ ls -lan
total 32
drwxrwxrwx 3 1000 1000 4096 2022-04-29 23:45 ./
drwxrwxrwx 42 0 0 4096 2022-04-29 23:43 ../
drwxrwxrwx 3 1000 1000 4096 2022-04-30 00:06 data/
-rwxrwxrwx 1 1000 1000 1541 2022-04-29 23:50 docker-compose.yml*
-rwxrwxrwx 1 1000 1000 620 2022-04-27 23:47 .env*
And here are the attempts I have tried:
$ history | grep docker\ run
1057 docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
1065 docker run -it -p 1880:1880 -v node_red_data:/data --user 1000:1000 --name mynodered nodered/node-red
1072 docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red
1078 docker run -it -p 1880:1880 -v node_red_data:/data --user 1000 --name mynodered nodered/node-red
1085 docker run -it -p 1880:1880 -v /share/Container/home-assistant-nodered/config:/data --user 1000 --name mynodered nodered/node-red
1086 docker run -it -p 1880:1880 -v /share/Container/home-assistant-nodered/config:/data --name mynodered nodered/node-red
1090 docker run -it -p 1880:1880 -v /share/Container/home-assistant-nodered/config:/data --name mynodered plaguedr/node-red
1091 docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered -u node-red:dialout nodered/node-red
1092 docker run -it -p 1880:1880 --name mynodered nodered/node-red
1101 docker run -it -p 1880:1880 -v myNodeREDdata:/data --name mynodered nodered/node-red
1102 docker run -it -p 1880:1880 -v myNodeREDdata:/data --name mynodered nodered/node-red:latest-minimal
1103 sudo docker run -it -p 1880:1880 -v myNodeREDdata:/data --name mynodered nodered/node-red:latest-minimal
1130 docker run -it -p 1880:1880 -v /share/Container/nodered/data:/data --name mynodered nodered/node-red
1135 docker run -d -p 1880 nodered/node-red
1136 docker run -it -p 1880:1880 -v /share/CACHEDEV1_DATA/Container/nodered/data:/data --name mynodered nodered/node-red
I am at wit's end. Please help!
edited to remove duplicate from my docker run attempts