The Cloud is Over-engineered, Over-priced (and Over-rated?)
For most personal projects, hosting on the cloud may be overkill, but tempting with its supposed ease of use and benefits of scale. Self-hosting is often overlooked as a solution with the benefit of simplicity and cost.
Interesting discussion and demonstration of self hosting the kinds of apps most personal projects will end being.
Personally I self-host on a raspberry pi. It took me a few weeks to setup, but it has been running without problems for almost 2 years now at practically no cost (beyond purchase and electricity).
For a surprising number of things, my previous desktop, running Linux, confined to my local network, is perfectly fine.
For a number of other things, a Raspberry Pi, with a dedicated disk image (ISO), confined to my local network, is fine.
Surprisingly often, a not-at-all-dynamic dynamic DNS solution gets the job done. I follow the first half of the DynDNS guide, and then hard code my preferred IP, and skip the rest. It's inconvenient when my IP changes, but that happens a lot less often than most folks imagine. Most DNS providers have provided this to me for free after I bought my domain name from through them.
For my public personal portfolio, GitHub pages works fine.
For additional silly static sites, AWS S3 and AWS CDN get the job done for about $3 per month.
When I need to do public facing database stuff, I get a virtual private server, not from Amazon or Microsoft, who both way overcharge for small apps.
I was surprised to find oracle's offerings so economical for personal use. I set up a foundry server (TTRPG) and so far it hasn't cost me a cent. Still not a fan of them or their CEO, but this is working for me.
I use nearlyfreespeech.net. They bill for usage, and since my site gets almost no hits and doesn't take much storage, it's ridiculously cheap. Much cheaper than even he $2.50.mo VPS listed in another comment. I just checked, and I spend an average of $.30/mo.
I've been looking for a place to host web apps in whatever language (Rust, Nim, or whatever) and framework I want, where I can use my own domains and multiple apps, and have sudo access. And I don't want to pay $70/month for it. I gave up on that hunt (it might have been unrealistic), although I'll be researching some of the alternatives offered in these comments.
Do you have HA run I've been trying to think about how to get my stuff running with SSO. One stumbling block has veen Home Assistant's apparent lack of support for it. Have to managed to find a solution to this? I've been thinking maybe I'll set it behind a proxy like nginx and enforce SSO at that level instead but I'm not sure if it'll work.
I havent bothered yet but it has been a thing I thought about. I have vaultwarden and my logins are two clicks which is nothing compared to the work I had to put in. :D
But yes, I think proxy level auth should work but dont take my word for it.
I would really like to mess around with self-hosting someday, but I live in a residential area and those sort of shenanigans are explicitly banned by my ISP. Is there anything someone in that position can do?
How seriously do they take it? I've been self-hosting stuff for...well for a long time, and It's been against my tos for almost all of it. The only issue I've had has been blocked outbound port 25.
That's what I've been wondering, like can I just do it anyway? I have Verizon FiOS gigabit, for reference. If they really just don't care then I don't mind violating TOS at all, but I wasn't sure if they do or not
If only you and your family are using a service it’s better not to open ports to the public internet anyway. Tailscale or another VPN will solve this nicely and your ISP won’t be able to tell aside from bandwidth usage
Pennsylvania, U.S.A. I hear it's a fairly common policy here but does vary from provider to provider. As I understand it, most areas in the U.S. have at most 2 ISP companies to choose from, and many only have 1. So they can kinda set whatever BS policies they want.
I run an opnsense firewall with dynamic DNS to cloudflare. I have owned a domain for decades and I have it point home. Recently I gave up inbound NAT. Now I just use wireguard. It's performant and my phone automatically kicks it on it I'm off my Wi-Fi network. And I've significantly reduced my attack surface.
It's a shame that he didn't do a writeup on this. It's nice to have a video to demo the workflow, but it's really annoying to go back to the video to get details to try it yourself.
Unfortunately, in this case I'm not interested in a summary. I already watched the video and would need to refer back to it for details, not general concepts.
I'll definitely use that site in the future though.
Edit: looks like it's not so good for long videos.
I just want something easy and painless for self-hosting, not wrangling tons of YAML to get an nginx proxy to point to the services I have to manually setup requiring more YAML and more hand-configuration. And then I still have to think about backups, and honeypots, and logs, and and and and.
Of course companies don't want to have to deal with that shit either. Plus they don't want to have to host their own datacenter, worry about physical security, or network issues, or setting up physically in another country, and a bunch of other stuff. The cloud is supposed to be easier, but because there are so many customers with so many different usecases, shit becomes complicated.
I think this is an excellent video and I love the format of walking through a complete on-prem deployment.
My only criticism is the attack on "the cloud" as a whole. You can choose your level of abstraction, from a computer in the cloud (like EC2) to managed services (like EB). Personally I don't want to deal with hardware, so I use a Compute instance on Oracle cloud (free tier). The rest of my setup is similar to the author's.