I created a nodejs site, did the initial configuration and confirmed I could run the basic Hello World from node. Then uploaded my React app folder contents to public_nodejs, set the app name in package.json to public_nodejs, and when I run npm start from that folder I get:
public_nodejs@0.1.0 start
react-scripts start

sh: react-scripts: Permission denied

So I tried doing a build, uploaded the build folder to public_nodejs, added a homepage property to package.json, ran npm i -g serve, now when I run serve -s build, I get:
(home)/.npm-global/bin/serve: Permission denied

What am I missing?

Most likely, you haven't unblocked binexec, or you haven't logged back in after unblocking binexec, and/or you haven't reserved a TCP port on which the application should listen.

5 days later

Thanks, that worked after I turned on "Run you own applications". Today I added another domain for the db server, reserved a different port, and the db server is running fine, but now the React app is back to "permission denied". Any other ideas?
Thanks again

I got it working from the build, not sure why npm start wasn't working. And specifying the port in the package.json start command, or in a .env and rebuilding had no effect on serve -s build, it was still trying to default to port 3000. Running
serve -l <myport#> -s build
finally did the trick.