Question

Deploy Error: Non-Zero Exit Code on App Platform Node Script

I have a Node script, that run as pm2 start server.js, but i get always the error below and the script doesn`t run, why?

Deploy Error: Non-Zero Exit Code Common Causes Missing dependencies, incompatible versions, incorrect environment variables or app bugs

Here is my Dockerfile created by Digitalocean:

name: name-socket
region: fra
services:
- build_command: |
    npm install pm2 -g
  environment_slug: node-js
  github:
    branch: master
    deploy_on_push: true
    repo: repo-name-extracted
  http_port: 8080
  instance_count: 1
  instance_size_slug: basic-xs
  name: name-socket
  routes:
  - path: /
  run_command: pm2 start server.js

Submit an answer

This textbox defaults to using Markdown to format your answer.

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

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

Hello @burhank ,

Thanks for providing the error and configurations here. However, with this error, we cannot say directly from here.

We will need to access your App once and then check the details. In order to dig in more, we request you to open a ticket to your customer support team, who can access your account and provide some insights.

https://www.digitalocean.com/support/

Cheers, Sri Charan

Same issue here pm2 or forever don’t seem to work and the error “Deploy Error: Non-Zero Exit Code” is quite vague given that the process log does not throw any error. Also tried to omit

pm2 start ./dist --name "$APP_NAME" 2>&1 > /dev/null

exit 0;

Also tested forever

Same deal…

Thanks. Anyway, i found out that i get the error only if start async with pm2 start index.js, if i start with node index.js it works.

I think, the script need a success return code or something from pm2