Ask HN: How are you hosting multiple small apps?
Curious how everyone handles hosting multiple side projects and apps? I have a few small apps with different frontend and backend stacks, and I've found it surprisingly difficult to deploy and host them without paying ~$5/mo per app. The monthly overhead starts to add up with 5 or 10+ apps, factoring in domain costs etc.
Lately I've been using an AWS Lightsail instance with an nginx reverse proxy and Let's Encrypt for managing the SSL certs for each domain. I've been able to run a few apps on a single instance for ~$5/mo. It takes a bit of time to setup each new app, but overall hasn't been terrible. Would love to find an easier way though so I don't need to keep updating my own nginx config.
How are y'all hosting your apps? Should I stop being cheap and just use Heroku? Let me know
9 comments
[ 3.2 ms ] story [ 226 ms ] thread1) https://dokku.com - lets you turn your light sail instance basically into heroku
2) https://render.com
3) https://fly.io
4) If you have aws credits this is their heroku equivalent: https://aws.amazon.com/elasticbeanstalk
above is not what I do but would be the options I would pursue if I understand your preference and requirement correctly.
As other poster mentioned, Dokku and Elastic Beanstalk are also good options--the latter would seem to be a natural migration, given you are already on AWS.
I have a private GitLab instance (also at DO), and put a gitlab-runner on the web server so I can do deployments straight from GitLab's CI.
I'd probably look for an alternative to DNSMadeEasy if I was starting from scratch, but adding a new domain there is easier than finding something new, so inertia keeps me there.
I've considered using containers, just to keep things more modular, but I haven't yet bitten that off (yet?).
Same here on containers, in theory they seem great but my projects have been small enough where a container feels like more hassle than it's worth. I might need to just take the time to learn Docker properly though
- All project frontends are built on SvelteKit. This could Next, Remix or any framework really. This allows me to serve it on Cloudflare Pages for free. - All the app logic for my projects use one REST API service. This is hosted on Digital Ocean. - The DB for my API is also hosted on a Managed MySQL service from Digital Ocean. I could setup my own droplet but I wanted one less thing to manage. I'm looking to move this to Cloudflare D1 once it's available for public usage. - All my images are hosted on Cloudflare R2. This is great because it connects to Cloudflare's DNS and makes it a simple step to add a custom domain.