New: Cookbooks and AI ExplanationsStep-by-Step recipes to solve problems connected to Roadmaps and Cheat Sheets. Need more details? Use AI buttons for structured and simple explanations with concrete examples throughout the whole platform.Take a look
Why does Render say my last deploy failed when the app looks fine to me?
What you'll have at the end
An Express /health route that answers 200 only when the app can really reach its database, with your host's health check pointed at it so a bad deploy gets caught before it goes live.
You need
An Express API deployed on a host that runs HTTP health checks against a path you configure, with a Postgres connection pool already pointed at the real, reachable database.
Not covered
Handling a SIGTERM signal to drain in-flight requests during a deploy, or catching an error that only shows up after the app has already gone live.
Leans on
Your app still points at a local Postgres instead of the managed one
go here first if your connection pool doesn't yet point at a real, reachable database; the readiness check in this recipe has nothing to check without it
Get error tracking running before your first crash in production goes unnoticed
go here once you want a crash that happens after a deploy goes live caught too, since a passing health check only proves the app was fine at the moment it was polled
Checked 25 Aug 2026
Part of the Full-Stack Application Deployment cookbook