Question

App Platform Deploy Error: Health Checks, DeployContainerHealthChecksFailed

After deploying my NestJS api service, it started properly as seen on this screenshot of the deployment logs. But everytime, the health checks fails, which inhibits me from deploying.

I tried, according to the documentation, with a TCP health check, initally on my set port which was 3333, followed by the default port which is 8080, but both without success. I then went on and implemented a service health check route, under /api/health, but once again it still fails. You can take a look at my open-source config/project here.

It doesn’t seem to be giving any other information… Please let me know how I can fix it, or how I can turn off this check.

Subscribe
Share

I’d like to also point out i’ve been through this question which was asked previously. I am already using the PORT environment variable which seems to be working, and as my question explains, i’ve tested with the 8080 port.


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.

Accepted Answer

@gabrielbottari 👋

Thanks for sharing the open source project and config. I forked the project and deployed it via the .do/app.yaml. I hit the same failing health checks error that you described. The problem is a subtle one that we need to get better at surfacing in the platform. Notice at the bottom of the deploy logs that we see this from nestjs:

Server listening at http://127.0.0.1:3333

It’s listening on http://127.0.0.1:3333 — so only connections targeting 127.0.0.1 will be consumed. The resolution for this is to update the code to listen on 0.0.0.0 instead (4e008e1). After making that update, it deploys successfully: https://stator-ewm6b.ondigitalocean.app/

In case you have an app on NUXT. Configure the Nuxt.js server to see your site on deployment.

#in nuxt.config.js

export default {
    server: {
     port: 8080, // default: 3000
     host: '0.0.0.0' // default: localhost
     }
    }

#in package.json

"config": {
    "nuxt": {
      "host": "0.0.0.0",
      "port": "8080"
    }

source from: https://nuxtjs.org/faq/host-port/