Zoom Apps Advanced Sample - Heroku Deployment Challenge (error code=14; No Web Process Running")

Zoom Apps Configuration
Exactly using boilerplate code found in zoomapps-advancedsample-react which is node, docker, react, express

Description
Using the zoomapps boilerplate code to build an app. Attempted to deploy this boilerplate code on Heroku using Docker to push the images (heroku container:push frontend & heroku container:push backend), everything loads and Heroku launches both the front and backend but receive the following error message in heroku logs --tail:

Error?

at=error code=H14 desc="No web processes running" method=GET path="/api/zoomapp/proxy" host=stark-crag-98585-09de84bcd5a0.herokuapp.com request_id=ae699046-584c-42ee-9929-6d804f4b8836 fwd="98.38.82.19" dyno= connect= service= status=503 bytes= protocol=https

Help

  • Can anyone propose a resolution, please?

Troubleshooting Routes

  • Heroku shows that both the frontend and backend images/containers are listening.
  • Heroku shows that the dynos are running. Restarting the dynos has not resolved the issue.
  • All env vars have been entered.
  • Research includes many hours of google search, zoom developer portal, and chatGPT with no exact match or resolution.
  • Rebuilds of the images/containers about 5+ times has not resolve the issue.
  • Zoom app does deploy in a zoom meeting from local server using local ngrok plus docker-compose up as instructed in the github readme for the zoomapp advanced sample.

How To Reproduce
Steps Include: (a) git clone the repo, (b) npm i, (b.1) copy and update env files in root and frontend directory, (c) docker-compose down -v, (d) docker-compose build --no-cache, (e) docker-compose up, (f) heroku create, (g) cd frontend, docker container: push frontend, (h) cd backend then docker container:push backend, (i) Heroku Resources - install Heroku Data for Redis, (j) Heroku Settings - install all env variables, (k) Heroku Resources - ensure dynos are running, (l) Heroku More View Logs - ensure frontend and backend are listening & no errors exist to prevent server from listening, (m) IDE/VS Code terminal - type in heroku logs --tail, (n) in heroku logs will see error noted above.

Image#1: Shows Docker Image Successfully Pushed for Frontend and Backend

Image#2: Shows error in heroku logs --tail

Image #3: Shows backend port listening in Heroku

Image #4: Shows frontend port listening in Heroku

Image #5: Shows heroku dynos running via terminal heroku ps command

Image #6: Shows error in Zoom when attempting to load app - assume with no web processes running that the server registers Navigation Failed with URL (and is more important than the domain scheme given no web processes running to process the URL & navigation failure)

Image #7: Shows that the zoom app does deploy from local ngrok & docker-compose up process

Image #8: Shows ngrok and docker compose running in VSCode (serving image #7 above)

Does scaling your dyno resolve the issue? That is:

heroku ps:scale web=1

If not, I would ensure that there is a Procfile in the root and then attempt to scale again.

Let me know if that helps.

Hello - I’ve tried to scale the dynos multiple times with no success. I’ll try again and then add the Profile. I have another idea as well so I’ll update this thread soon. Thank you for your suggestions.

I converted the app from Docker to “Default types for buildpack → web” webpack. After making all the required changes, I was able to deploy my app on Heroku using the zoom advanced template as a baseline. I found webpack easier to use for a variety of reasons including (a) Docker took forever to build (in general and prior to launching to Heroku), (b) Docker absorbed a ton of memory on my computer during the dev process, and (c) the Heroku deploy of Docker was generally doable but as noted above it didn’t perform the same as my local environment (after I tackled items a & b). I no doubt have a lot to learn about Docker and the Docker deploys on Heroku. Fingers crossed I continue to make progress!!