Skip to content

[bug] EACCES: permission denied, mkdir '/etc/.pm2/logs' #367

@ahoiroman

Description

@ahoiroman

Hello,

I got a little problem using soketi on Laravel Forge.

I followed this article (https://blog.laravel.com/deploying-soketi-to-laravel-forge) to configure a daemon that makes sure that soketi is always up and running.

This is the resulting daemon:

Bildschirmfoto 2022-02-17 um 09 37 15@2x

And this is the generated supervisord-config:

[program:daemon-674304]
command=soketi start --config=/home/forge/soketi.json

process_name=%(program_name)s_%(process_num)02d
autostart=true
autorestart=true
user=forge
numprocs=1
startsecs=1
redirect_stderr=true
stdout_logfile=/home/forge/.forge/daemon-674304.log
stopwaitsecs=60
stopsignal=SIGINT
stopasgroup=true
killasgroup=true

Now I am getting this error on startup:

[PM2][Initialization] Environment variable HOME (Linux) or HOMEPATH (Windows) are not set!
[PM2][Initialization] Defaulting to /etc/.pm2
Error: EACCES: permission denied, mkdir '/etc/.pm2/logs'
    at Object.mkdirSync (fs.js:1013:3)
    at mkdirpNativeSync (/usr/lib/node_modules/@soketi/soketi/node_modules/mkdirp/lib/mkdirp-native.js:29:10)
    at Function.mkdirpSync [as sync] (/usr/lib/node_modules/@soketi/soketi/node_modules/mkdirp/index.js:21:7)
    at module.exports.Client.initFileStructure (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Client.js:133:25)
    at new module.exports (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Client.js:38:8)
    at new API (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/API.js:108:19)
    at Object.<anonymous> (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/index.js:11:18)
    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)
Error: EACCES: permission denied, mkdir '/etc/.pm2/pids'
    at Object.mkdirSync (fs.js:1013:3)
    at mkdirpNativeSync (/usr/lib/node_modules/@soketi/soketi/node_modules/mkdirp/lib/mkdirp-native.js:29:10)
    at Function.mkdirpSync [as sync] (/usr/lib/node_modules/@soketi/soketi/node_modules/mkdirp/index.js:21:7)
    at module.exports.Client.initFileStructure (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Client.js:141:25)
    at new module.exports (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Client.js:38:8)
    at new API (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/API.js:108:19)
    at Object.<anonymous> (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/index.js:11:18)
    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)
Error: ENOENT: no such file or directory, open '/etc/.pm2/module_conf.json'
    at Object.openSync (fs.js:497:3)
    at Object.writeFileSync (fs.js:1528:35)
    at module.exports.Client.initFileStructure (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Client.js:149:10)
    at new module.exports (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Client.js:38:8)
    at new API (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/API.js:108:19)
    at Object.<anonymous> (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/index.js:11:18)
    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)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)
Error: EACCES: permission denied, mkdir '/etc/.pm2/modules'
    at Object.mkdirSync (fs.js:1013:3)
    at mkdirpNativeSync (/usr/lib/node_modules/@soketi/soketi/node_modules/mkdirp/lib/mkdirp-native.js:29:10)
    at Function.mkdirpSync [as sync] (/usr/lib/node_modules/@soketi/soketi/node_modules/mkdirp/index.js:21:7)
    at module.exports.Client.initFileStructure (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Client.js:157:25)
    at new module.exports (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Client.js:38:8)
    at new API (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/API.js:108:19)
    at Object.<anonymous> (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/index.js:11:18)
    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)
Error: ENOENT: no such file or directory, open '/etc/.pm2/module_conf.json'
    at Object.openSync (fs.js:497:3)
    at Object.readFileSync (fs.js:393:35)
    at Object.Configuration.getAllSync (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Configuration.js:299:26)
    at Object.Configuration.getSync (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/Configuration.js:270:30)
    at new API (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/lib/API.js:117:44)
    at Object.<anonymous> (/usr/lib/node_modules/@soketi/soketi/node_modules/pm2/index.js:11:18)
    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)
    at Function.Module._load (internal/modules/cjs/loader.js:790:12)

Any help or hint is highly appreciated :-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions