During the first two months of the first ECQ here in the Philippines back in 2020, I didn't find it hard to entertain myself. I was always a couch potato even before.
I remember losing tens of hours playing The Outer Worlds immediately after I logged out of work. I plowed through two playthroughs as I wanted to see what the "dark side" choices led to, so to speak. (Spoiler alert: they're really not that different)
It wasn't long before I got tired of the routine. Wake up > work > log out of work > play games > sleep. Rinse and repeat. It really has taken a toll on everyone.
First Self-Hosting Encounter
I digress. The first time I actually encountered self-hosting was during the time I was exploring how to setup websites. Most of the time, clients at work would readily have their site for optimization.
I didn't really know how to setup my own website until I observed our webdevs at work during a short stint at a "startup" (I use that term loosely) that hired me to write about their app. Basically, I learned that you need a hosting server to actually set up a website before anything else.
At the time, they were using the free tier of AWS. It's powerful but also complicated for a beginner. I scoured blogs and YouTube videos until I stumbled upon VPSs.
VPS or Virtual Private Servers are virtual computers that you can use to host stuff online without actually having your own physical system running 24/7. Purists will tell you using a VPS is not really "self-hosting" but it can still be in spirit.
Most, if not all, of basic VPS services are unmanaged. This means that you just have to use SSH or use their web console in order to log in to your virtual computer. From there, you are on your own.
They even give you the choice of which operating system (OS) you can run. The most popular ones used are Linux distributions. I started out with Ubuntu.
The very first VPS provider I used was Linode. It was cheap at just $5 per month for the lowest tier which is, frankly, enough for a small website. I had to follow tutorials in order to set this up.
Some VPS providers like Digital Ocean provide one-click solutions for popular web apps such as Wordpress or even Ghost. It took me a about a year or two before I even discovered that these solutions existed.
Using these solutions can still be considered self-hosting for the most part. After all, it just installs a certain web app for you. You still have to manage resources, update packages, set up users, and all the basic stuff you need before you can actually start your website.
The difference between these solutions and the managed solutions is that you are still on your own for the most part. If something goes wrong with your installation, customer support is limited.
Some limitations include:
No login button or link from the dashboard - managed solutions have a login button for your content management system of choice most of the time
No automatic backup option for webapp - Unmanaged VPS services have backup options but that's for the whole server itself. You will need to learn how to create and restore these backups by yourself.
DIY DNS Settings - Managed services will setup your domain for you. Unmanaged services will allow you more freedom but you'll need to set DNS records by yourself. Adding subdomains will be a pain in the ass if you don't know what you are doing.
If you opt to go for manually setting up your server, that's fine. You may want to fine tune your own settings. I used to set up my own LAMP server before I encountered these solutions. There are even install scripts available on a lot of Github repositories.
Open Source Self-Hosting Operating Systems
I cannot believe these existed. I encountered these miracles just last year. These are modified versions of Linux distros which basically allow you to easily install other webapps without going through much of a hassle.
YunoHost was the first one I encountered and I was just looking for an easier way to install Wordpress and Ghost. It turns out that YunoHost is chockful of web apps that you can self-host besides other CMSs.
For instance you can set up your own email at no additional cost to your VPS service. The hard part is just setting up your DNS settings, which YunoHost will provide. You just have to set them in your domain registrar of choice. I'm rocking my own email and website server at just $5 per month.
You can also setup multiple blogs using just one domain. YunoHost allows you to easily run subdomains or even run several web apps under one domain. The web UI is very user-friendly.
You can self-host your own file storage server as well. Or even run your own messaging server.
The best part is that YunoHost is free since it's open-sourced. There are other alternatives such as Cloudron, Sandstorm, Freedombox, and more. But I find YunoHost to be the most versatile and robust so far.
Continuing My Self-Hosting Journey
Even today, I'm still trying to browse through YunoHost's app selection to see what I can try out. I set up this Ghost CMS easily through YunoHost in under 10 minutes. Before, it would have taken me about 2 hours just to get it working right.
At home, I have self-hosted Home Assistant using Proxmox. For the most part, I use it to control smart lights here at home and run AdGuard Home. These are also free. You just have to dedicate your time in learning how to set these up for yourself.
I'm trying to learn how to set up my own torrenting and media server, for legal purposes of course. It's a pain in the ass so far but I'm getting there. I'm also trying to figure out how to use ZeroTier or Tailscale as an alternative to port forwarding my self hosted server to the outside world. Our ISPs here suck as they don't normally allow port forwarding since they use CGNAT. You have to subscribe to a business plan first, but that's a topic for another day.
TLDR: Self-hosting is fun and I'm still learning more and more each day. It's a good alternative to playing videogames as a hobby since I like to tinker with stuff as well.