Hello,
I’m working on a server that hosts multiple projects, each assigned to a dedicated user with access restricted to their respective project folders. The server is managed via RunCloud.
For a new project, the working directory follows this structure:
/home/projectname/webapps/projectname_plasmic
The project’s user has permissions to access /home/projectname/
but not /home/
, which is intentional to maintain isolation between projects.
Issue
When I try to install Plasmic using:
npx create-plasmic-app@latest
I get the following error because Plasmic attempts to scan /home/
, which the user doesn’t have access to:
Plasmic error: EACCES: permission denied, scandir '/home'
Full error log:
Plasmic error: EACCES: permission denied, scandir '/home'Error: EACCES: permission denied, scandir '/home'
at Object.readdirSync (node:fs:1525:3)
at findFile (/home/projectname/webapps/projectname_plasmic/projectname123/node_modules/@plasmicapp/cli/dist/index.js:501474:35)
at findFile (/home/projectname/webapps/projectname_plasmic/projectname123/node_modules/@plasmicapp/cli/dist/index.js:501486:10)
at findFile (/home/projectname/webapps/projectname_plasmic/projectname123/node_modules/@plasmicapp/cli/dist/index.js:501486:10)
at findFile (/home/projectname/webapps/projectname_plasmic/projectname123/node_modules/@plasmicapp/cli/dist/index.js:501486:10)
at findFile (/home/projectname/webapps/projectname_plasmic/projectname123/node_modules/@plasmicapp/cli/dist/index.js:501486:10)
at findConfigFile2 (/home/projectname/webapps/projectname_plasmic/projectname123/node_modules/@plasmicapp/cli/dist/index.js:501934:10)
at getContext (/home/projectname/webapps/projectname_plasmic/projectname123/node_modules/@plasmicapp/cli/dist/index.js:503449:35)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async sync (/home/projectname/webapps/projectname_plasmic/projectname123/node_modules/@plasmicapp/cli/dist/index.js:504569:17)
Aborting installation.
==================================================
create-plasmic-app failed!
==================================================
Unexpected error:
Error: Command failed with exit code 1: npx plasmic sync --yes -p h7pNwSkQ5KcoSfj22MK2mT
at makeError (/home/projectname/.npm/_npx/3ae9567465240a66b26/node_modules/execa/lib/error.js:60:11)
at handlePromise (/home/projectname/.npm/_npx/3ae9567465240a66b26/node_modules/execa/index.js:118:26)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
shortMessage: 'Command failed with exit code 1: npx plasmic sync --yes -p h7pNwSkQ5KcoSfj22MK2mT',
command: 'npx plasmic sync --yes -p 1234abcd4567',
escapedCommand: 'npx plasmic sync --yes -p 1234abcd4567',
exitCode: 1,
signal: undefined,
signalDescription: undefined,
stdout: undefined,
stderr: undefined,
failed: true,
timedOut: false,
isCanceled: false,
killed: false
}
Please remove /home/projectname/webapps/projectname_plasmic/projectname123 and try again.
What I’ve Tried
- Running the installation as the project’s user → Fails due to lack of access to
/home/
- Running the installation as root → Works, but not a viable solution since users should only have root privileges within their own project folder
I haven’t found a way to make Plasmic work under this setup without root access, but using root isn’t an option for all users on the server.
Question
Is there a way to configure Plasmic so it doesn’t attempt to scan /home/
? Or any workaround to make this setup work without compromising the security model of isolated project users?
Any insights would be greatly appreciated!
Thanks!