What is self hosting?
To me, self hosting means spinning up and maintaining most of a piece of software on your own. This could be on your own computer, server, in a home lab, or even in the cloud on a VPS. The reason I believe this is you aren't relying on someone else to spin up and maintain your setup. You might be relying on a VPS to be maintained by a company but anything you install on it would be reliant on you to maintain. Theoretically, you still learn the same way a home lab would present to you, aside from hardware issues or some other ways.
That being said, what I wouldn't consider so much as self hosting, is stuff like Dropbox, or completely online setup things, like the ghost blog from Ghost, or a Wordpress site from Wordpress. Technically, even my ghost blog that is hosted on Pika Pods. I don't have to go in and manage it, it is a completely managed service and therefore am I really managing it myself?
What is the purpose of self hosting?
A good purpose for self hosting is to learn. You can do this with almost any method, whether you host on your main computer, build a server or use a mini pc, completely build out a whole rack in your house, or even rent a Virtual Private Server in the cloud. At this point, the setup is at your fingertips and in order to learn how to set up applications properly, you have to run through and do it yourself.
This lets you learn different things. When problems arise you have to fix them. If something fails to spin up, you have to troubleshoot. If for some reason you forget to do backups and something breaks enough you have to reinstall? You learn the reason that backups might should be a priority, tested, and maintained just as much as the rest of your homelab.
Sometimes as a programmer, game developer, and website developer. I have the need to self host and maintain a local version of an application or website in order to do testing. I could set this up on a vps, or different ways in the cloud. I chose to use my own hardware instead. It is local, if something breaks I can fix it easy, it doesn't need to leave my local network and be part of the world. If I screw up and make the wrong configurations and let people in, it is only accessible though the network I allow and therefore safer to mess around and test and learn, which is key. Safe to learn, doesn't cost much to do so. If I had hosted the test environment online I'd have to open it up to various different things and configure extra ways for only me to use whereas locally hosting makes it so I don't really have to deal with that right now while still in development stage.
As a homelabber, I can test variations of server configs to check how stuff will perform if I wanted to put it on the cloud. I have a giant proxmox server with over 100 gigs of ram and 24 cores. I can split this up however I want as a test environment and test 'theoretical' performance of an application before presenting it to a cloud hosted VPS or other type of server.
What kinds of things can I self host?
So you may ask now, what kind of things can you self host? In my homelab I self host my applications for testing, pi-hole for tracker blocking, RSS reader for aggregating a lot of articles I might want to read in one place so I don't have to go snooping for them. I also have a couple Synology Nas for managing my data and backups, along with sometimes watching TV and listening to music. I know it isn't open source but I really like the Synology suite for what it offers. Someday I may switch over to Jellyfin and Truenas as my TV , backup and file management, but for now? Bleh! Noted is chalked full of apps you can self host, just have a browse around and see.
Back a while I had some shoddy local wireless broadband internet. Something 12 Mbps down, 5 Mbps up, though realistically half the down and a quarter of the up maybe. I knew this because I had set up Internet-Pi, something to track speed tests, ping tests, and other things to sort of watch how my internet is acting over time. Turns out, my old ISP over booked their antennas and couldn't handle the throughput anymore alongside having their antennas plastered on water towers and other places next to stuff like an ATT antenna and it was a nightmare to see. I kept being told that the issue was on my end and that they had nothing wrong but.. my Internet-Pi setup showed me otherwise!
Does self hosting mean hosting from my home?
Like I mentioned earlier, self-hosting isn't limited to just homelabs or hosting at home. If you're setting up and managing a system with its applications, and running those applications on that system, it counts as self-hosting. This is because you're doing it yourself, not a company. Not everyone can set up a full home lab, so it doesn't matter if you use your own computer, a Raspberry Pi, a large enterprise server, or a cloud-based VPS. Welcome to the world of self-hosting, where the learning is intense and exhilarating. And when things go wrong, which they often do, we get to learn from our mistakes and fix them!
Do you prefer to host from a homelab or the cloud, and why?