management-center
management-center copied to clipboard
Docker container is unable to start as non root
This container should support running as a non root user.
Trying to do that, I get the following error:
Starting Management Center for Eclipse Mosquitto
node:internal/fs/utils:350
throw err;
^
Error: EACCES: permission denied, open '/management-center/src/utils/db.json'
at Object.openSync (node:fs:603:3)
at writeFileSync (node:fs:2324:35)
at FileSync.read (/management-center/node_modules/lowdb/adapters/FileSync.js:46:9)
at db.read (/management-center/node_modules/lowdb/lib/main.js:32:21)
at module.exports (/management-center/node_modules/lowdb/lib/main.js:51:13)
at Object.<anonymous> (/management-center/src/utils/utils.js:33:12)
at Module._compile (node:internal/modules/cjs/loader:1256:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
at Module.load (node:internal/modules/cjs/loader:1119:32)
at Module._load (node:internal/modules/cjs/loader:960:12) {
errno: -13,
syscall: 'open',
code: 'EACCES',
path: '/management-center/src/utils/db.json'
}
Node.js v18.17.1
I think the best approach should be creating a cedalo user/group inside the container, set the USER
parameter in the Dockerfile and give permission to this user to write only where really needed.