We have created a Render Blueprint for our open source project and are fielding occasional complaints from our community that deployment times out. I’ve noticed this in testing once, but haven’t been able to replicate the timeout. When it occurred for me, it appeared that Render hadn’t noticed the service had successfully started and was still waiting.
I’ve created a healthCheckPath entry for our web service. It doesn’t appear I can do the same for private services. Irrespective, I believe the health check path is only called once Render is aware the service is up.
I would be checking two things to make sure your service comes online after a deployment:
Make sure you bind to 0.0.0.0it looks like you may bind to localhost, but it’s hard for me to tell.
If your service listens on multiple ports, make sure the one exposed to our proxy so requests can be made from the public internet is set as an PORT environment variable. It looks like you have a zep server port and a http service port, if your service is listening on both of these our port detection process may not work as expected.
Thanks for following up. Both the web and private services bind to 0.0.0.0. I’ll explicitly set web server’s the PORT env var in the blueprint. Is it possible to do the same for private services? I don’t see this documented on the Private Services page.
Yes, this would be the same for private services. Setting a PORT environment variable means our port detector doesn’t need to go looking for open ports if you just tell us what it will be by setting the PORT environment variable.