Agree, I used to always use Heroku or Render style platforms for my own software, but nowadays I just have a Linux server with Docker Compose and a Cron job. The cron job every minute runs docker pull (downloads latest image) and docker up -d (switches to new version only if there is a new version). And put caddy in front for the HTTPS. This has been very cheap and reliable for years now.
So why do you only poll once per minute? You could be sitting around for 59 seconds while nothing happens.
Maybe you meant to say "automatically" instead of "immediately"? Because if you really mean "immediately" then there is still plenty of low-hanging fruit to be had.
One annoyance (I don't know if they've since fixed it) was that Docker Hub would count pulls that don't contain an update towards the rate limit. That ultimately prompted me to switch to alternate repositories.