I just created a web service on Render with a custom domain. I’m failing to get it deployed. The logs for each build look like this:
Nov 9 08:36:45 PM ==> Generating container image from build. This may take a few minutes...
Nov 9 08:39:29 PM ==> Uploading build...
Nov 9 08:40:00 PM ==> Build uploaded in 24s
Nov 9 08:40:00 PM ==> Build successful 🎉
Nov 9 08:40:00 PM ==> Deploying...
Nov 9 08:40:27 PM ==> Starting service with './app'
Nov 9 08:40:35 PM ==> Starting service with './app'
Nov 9 08:41:02 PM ==> Starting service with './app'
Nov 9 08:41:31 PM ==> Starting service with './app'
Nov 9 08:42:24 PM ==> Starting service with './app'
Nov 9 08:43:54 PM ==> Starting service with './app'
After a few attempts to start the service, the deploy fails. There’s no more information provided to debug. The service is extremely simple and runs locally with go run .. Is there an unreported outage?
Please could you confirm your app is trying to bind to 0.0.0.0 and using a non-standard port (10000 is our default, and available in the PORT env var).
I tried deploying it to my own account, and it worked fine. I then noticed I hadn’t set the Health Check path, which I think maybe your issue. It seems you return an empty 200, maybe it needs to be a 204 (No Content)? (docs)
May I suggest that the Render team either updates the docs to reflect the behavior of the system, or updates the system to be more liberal in which status codes it accepts, in line the latter part of the docs.
Either way, more feedback in the logs would also be great. “Deploy failed because health checks failed: GET https://my-app.onrender.com/healthz returned a XXX instead of a 204” would do the trick.
Thank you again for the help, and for helping to bring us a great product!