How to deploy Express server with React frontend to the App Platform?

I have a Express server (server.js) and a React app as the client in one project. the directory structure is like:


the primary packge.json has these commands:

"dev": "secrethub -- run nodemon server.js",
  "start": "secrethub -- run node server.js",
  "deploy": "NPM_CONFIG_PRODUCTION=false npm install --prefix client && npm run build --prefix client",

ive adjusted my custom build script inside the “Component” tab in the digital ocean control panel multiple times. ive tried just “npm run deploy” which worked, for the front end only. the api doesnt run.

if i run npm run deploy && npm run start then it just lags on the build phase and never finishes…

how do i deploy this to run the server as well as build the frontend?


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

I am stumbling a bit blindly through this (i.e. I just try a bunch of things until something works, but I don’t necessarily understand why or why not), but this seems to be working for me: On Settings Page: Set Build command to npm run deploy Set Run command to node server.js

Where deploy is a similar script to npm install and npm build