2 ms·
If you're not deploying at large scale, I'd go with something elastic in the same vein as Render (I haven't used that one though). Heroku used to be my go-to re
by theptip 3y ago
If you're not deploying at large scale, I'd go with something elastic in the same vein as Render (I haven't used that one though). Heroku used to be my go-to recommendation here of course. Fly.io gets a lot of love as a Heroku replacement and they have a generous free tier (though they have had some uptime troubles recently).
Alternatively GCP and AWS both have elastic compute options that should work as well. (App Engine and Beanstalk? respectively.)
Running a VM is going to be annoying (way more ops toil) and cost you more than you need, if you're making on the order of requests-per-hour instead of requests-per-minute. But if a VM is cheaper than your best elastic option you can make it work. I would not recommend sharing apps within a project as migrations can be annoying and you'll get downtime on every app whenever you deploy or break any of them. But you could have one VM serving up lots of projects, and give one port per project, then wire up a load balancer & DNS name for each project/port.
It's possible to do git-deploys with a VM but it's a little work to wire up. You'd set it up with GitLab, and you can wire up a simple deploy script that effectively does a `docker stop && docker run` to launch your new app container.