Npm ERR! code ELIFECYCLE. Docker install


I'm trying to install nodered to work with Home-Assistant on an ubuntu server, but can't seem to get it to work. I'm using docker compose to create a nodered container, here is my compose text:

> node-red:
>  image: nodered/node-red:latest
>  container_name: nodered
>  environment:
>  - TZ=$TZ
>  ports:
>  - "1880:1880"
>  volumes:
>  - my-data-folder:/data
>  restart: unless-stopped

I checked the logs in portainer and this are the errors I see:

"Error: EACCES: permission denied, copyfile '/usr/src/node-red/node_modules/node-red/settings.js ' -> '/data/settings.js'
at Object.copyFileSync (fs.js:2061:3)
at copyFile (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:70:6)
at onFile (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:56:25)
at getStats (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:48:44)
at handleFilterAndCopy (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:33:10)
at Object.copySync (/usr/src/node-red/node_modules/fs-extra/lib/copy-sync/copy-sync.js:26:10)
at Object. (/usr/src/node-red/node_modules/node-red/red.js:125:20)
at Module._compile (internal/modules/cjs/loader.js:1085:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10)
at Module.load (internal/modules/cjs/loader.js:950:32) {
errno: -13,
syscall: 'copyfile',
code: 'EACCES',
path: '/usr/src/node-red/node_modules/node-red/settings.js',
dest: '/data/settings.js'
npm ERR! errno 1
npm ERR! node-red-docker@2.2.2 start: node $NODE_OPTIONS node_modules/node-red/red.js $FLOWS "--userDir" "/data"
npm ERR! Exit status 1"
npm ERR! Failed at the node-red-docker@2.2.2 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

I do not have the file: /usr/src/node-red/node_modules/node-red/settings.js . There is no usr/src/node-red folder at all. Is this something I have to manually create?

This should be an absolute or relative path. When you launch the container, it tries to copy the settings.js file there. If this path does not exist or you do not have the correct permissions, you will get this error.

hmm, weird, when i ran the docker-compose up, it created the folder (my data folder is in /opt/docker/nodered) but there is only a data folder there and nothing else, so the path i see is: /opt/docker/nodered/data/
I'll look further into permissions, the docker group (PGID) should have the correct permissions for the /opt folder and its subdirectories; i haven't had any issues spinning up containers this way in the past.


This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.