Payload CMS Next-Gen
-
It's time to look for new and innovative web development platform, especially what can be implemented to work on our Cloudron, a new generation is coming and pushing.
And it seems to me that it would be relatively simple to accomplish, if we could have a kind of LAMP version that would be packed to specifically be able to install and update NPM packages and run NODE apps. OR, is there any other way we've yet to think, to be able to run the growing pool of apps and dev env around MERN stack, in the like of the following, I mean, we already have a MongoDB server running full time.
For example this Payload app I believe would be a very interesting web dev app, which I see more and more coming around, to add to Cloudron OR to have a "kind of special setting" that would allow to run such apps on a LAMP server. Payload GitHub here.
It seems to me that it would only require to allow NPM to write in a tmp folder that is not possible for now because of the nature of Cloudron read only files of the OS.
To install Payload you need one command
npm i create-payload-app
but when I try this on a terminal on LAMP I get the following revealing error.npm ERR! code EROFS npm ERR! syscall open npm ERR! path /root/.npm/_cacache/tmp/89ae2dd2 npm ERR! errno -30 npm ERR! rofs EROFS: read-only file system, open '/root/.npm/_cacache/tmp/89ae2dd2' npm ERR! rofs Often virtualized file systems, or other file systems npm ERR! rofs that don't support symlinks, give this error. npm ERR! Log files were not written due to an error writing to the directory: /root/.npm/_logs npm ERR! You can rerun the command with `--loglevel=verbose` to see the logs in your terminal
As we can see, while we can theoretically speaking run node and npm, in reality it needs to be able to WRITE something to the disk, so I guess there mut be a way to counter this?
Now here's the VERBOSE log version, hopefully that would help to find a simple way to counter this.
npm verb cli /usr/local/node-18.18.0/bin/node /usr/local/node-18.18.0/bin/npm npm info using npm@9.8.1 npm info using node@v18.18.0 npm verb title npm i create-payload-app npm verb argv "i" "create-payload-app" "--loglevel" "verbose" npm verb logfile logs-max:10 dir:/root/.npm/_logs/2024-03-07T14_04_39_832Z- npm verb logfile could not be created: Error: EROFS: read-only file system, open '/root/.npm/_logs/2024-03-07T14_04_39_832Z-debug-0.log' npm verb logfile no logfile created npm verb stack Error: EROFS: read-only file system, open '/root/.npm/_cacache/tmp/07f43201' npm verb cwd /tmp npm verb Linux 5.4.0-172-generic npm verb node v18.18.0 npm verb npm v9.8.1 npm ERR! code EROFS npm ERR! syscall open npm ERR! path /root/.npm/_cacache/tmp/07f43201 npm ERR! errno -30 npm ERR! rofs EROFS: read-only file system, open '/root/.npm/_cacache/tmp/07f43201' npm ERR! rofs Often virtualized file systems, or other file systems npm ERR! rofs that don't support symlinks, give this error. npm verb exit -30 npm verb unfinished npm timer command:i 1709820280026 npm verb unfinished npm timer reify 1709820280030 npm verb unfinished npm timer reify:loadTrees 1709820280033 npm verb unfinished npm timer idealTree 1709820280033 npm verb unfinished npm timer idealTree:buildDeps 1709820280050 npm verb unfinished npm timer idealTree:#root 1709820280050
I believe if this can be set somehow, we could run several available apps without the need to specifically "adapt" it to run on Cloudron. For example AnyType which has been in demand here could possibly run like this as well. And likely much more.
-