I already host my own stuff for the most part: emails, DNS, NextCloud, IRC server, IRC client (ZNC, The Lounge), my website and a few other things.
I already pay like $50/mo for a dedicated server so that I have complete control over my data and my digital life, so adding a Lemmy instance to the mix is basically free. Just another VM among many of them, sharing the same resources as the rest of the stuff I host.
I share my server with a few friends, and pretty much my friends and their friends are all free to use my stuff as well. Been doing that for about 14 years at this point: always let my friends put their PHP sites on my server and whatnot. A dozen people using my IRC bouncers, a handful of people on my IRC server. When people need a game server sometimes I hand them out a VM to run the server for a while, then when they're bored I turn it off and shelve it away. It's a lot nicer to foot the cost of a service when it's for people you know and care about.
I'm a FullStack + DevOps engineer as my day job, so it's pretty trivial for me to set up and maintain. If anything it's a bit relaxing compared to the insanity I deal with at work.
Regarding costs, the nice thing with distributed systems like Lemmy is that the average small to medium sized instance is really cheap to run. It's when you run into scaling problems as you grow that becomes painful and often expensive if you can't optimize the system. Suddenly you need way more servers, redundant databases, caching layers, spend a lot of time maintaining all of that, write automation to scale up more easily, etc.
Without federation, the whole ecosystem would go down, it puts a lot of pressure and a lot of need in maintaining reliability and performance. With federation, if my node goes down for a day or two, only a handful of users will complain about it, and all is well.
So in a way, many smaller instances distributes the cost of running the whole fediverse across many more people with much lower cost figures each, something one can afford to pay continuously even without taking in any donations. As I said, it cost me $50 for the whole server, but really I could probably run this on Oracle's free tier forever and never pay a dime for my Lemmy experience.
I'm very new here and curious if I could ask as it sounds like you know what you are talking about.
My self hosting skills are extremely basic. I have an 8G Pi4 I run jellyfin, navidrome and a few other bits and bobs on. I'm scared of opening ports on my home network so use Timescale for external access. Could I run a personal Lemmy instance like this? Can I interact with other instances via Tailscale or do I need to actually open ports?
Resource wise what would a personal instance require in the cloud? Would something basic like a 512mb 10G droplet from Digital Ocean suffice?
You could use a Cloudflare tunnel if you really wanted to avoid opening ports, but basically as long as you only open the right ports for what you want to host and have a good firewall (I use OPNSense) you're fine