Please help me I’m planning to go live this week after testing everything on the free tier Render plans, and I wanted to upgrade my plan to a higher tier.
The Postgres plan upgrade went smoothly, no issues.
However, when I attempt to upgrade from Free to Starter Plus on my Web Service, the deploy succeeds, but Render never recognizes my health check as passing. I gave it half an hour, and then did a manual “clean build cache and redeploy” operation. Doing that correctly got my app live, but my service still reads as being on the Free plan.
I have changed nothing about my backend app that works 100% correctly on the Free tier plan. I am only changing the Render tier. I’m not sure why changing the plan causes the health check to break.
Nothing in the build log indicates any issues with the build or starting of the app, everything should be working
I attempted something that also failed, and now I’m really not sure what’s going on.
Since the health check appeared to be the failure location, I deleted the health path for my app. I waited for that deploy to complete successfully (it did) and then I attempted to upgrade the Render tier without the health check.
However, despite my hopes, the deploy failed. I don’t see a reason for the failure on my side, but it looks like the attached image.
There is nothing wrong with my app, everything compiles and starts fine just like it does on the Free tier. The deployment just never finalizes even without a health check and fails due to timeout.
I tried changing my app port from 10000 to 26156 to make sure I’m not accidentally hitting a port conflict with anything. No change, port change is fine on Free tier, but health check fails on non-free.
I want to leave some feedback here for Render. I hope this gets seen.
I took a jog through my code history, and I found out that the bind to localhost change was made in response to some kind of issue I ran into when I deployed to Render’s free tier. Originally, my app was binding to 0.0.0.0 correctly.
I think that Render should note somewhere in their documentation what the recommended configuration is between free and paid tiers. Or at least mention that 0.0.0.0 is the recommended binding for all paid tiers.
I’m not sure if the localhost change was the appropriate solution for free tier, but if it is, I’d like to see it documented somewhere that apps should bind to localhost on free, but be prepared to change the binding to 0.0.0.0 when upgrading to paid.
Thanks very much for taking the time to update your community post and including feedback. Also glad to hear you’re up and running.
I completely agree we can do better on explaining the host/port basics, we’re continuing to work on improving the documentation on this (and lots more) to make situations like this clearer.