Why Self-Hosting Is Important

Why Self-Hosting Is Important

As someone who has found self-hosting extremely valuable in my daily life, I wanted to try and explain to those outside of the world of self-hosting what's so valuable about it. Why do it? Why go through the effort to begin with? Surely there are products or services out there that would meet my needs. While this is true, there's more to self-hosting than simple features or capabilities. There's an underlying philosophy at play as well, one which I want to try and explain to those who may think self-hosting isn't worth your time. Allow me to outline why I self-host, what does self-hosting empower me to do, and how I do it.

It starts with "Why" does someone self-host. For me, there's multiple reasons why. Let me go over them.

First, it's empowering from a privacy perspective. Your personal data is being used by the industry for various purposes, the dominant purpose being to serve you ads. Your data is often used to build a profile around you. Algorithms know everything about you, from the food you eat, to the clothes you wear, to the content you consume. They're building a marketing profile around you, and they're serving you ads and feeding you content that will ultimately drive them to be more profitable. I refuse to give my personal data without direct consent to these companies, as I believe my privacy is increasingly violated by big tech. Self hosting eliminates this risk by keeping your data within arms reach, out of big tech's hands.

Privacy concerns such as these aren't as important to some as it is to others, so let me offer you a more agreeable argument for self-hosting. A big reason that I believe self-hosting can be very valuable is because of what is often called the "enshittification" of the internet. The concept is simple: Online products and services decline in quality over time. You see it often, from all platforms. YouTube has constantly become more and more hostile to both content creators and viewers, Amazon is running rampant with bad products and fake reviews, Social Media grows increasingly more toxic with algorithms designed not based around quality but engagement. It's a constant cycle, often driven by the desire to increase profits. The prices you once paid for a respectable service is increasing. Software you used to be able to own with a lifetime license has changed to a subscription service. Self-hosting empowers you to avoid all of that head ache. You're in control of your own software and services, and big tech will hate you for it. While you can't completely avoid all online services, the more you self-host, the less you need to worry about enshittification.

Another big reason to Self-Host is to avoid a HUGE trap. It's something these companies have become increasingly good at- getting you wrapped up in their ecosystem. Apple is the primary example here, where they get you in the door with features like iCloud. You use one Apple device, and look- they work so seamlessly with one another. You end up buying an iPhone first, then an iPad. You like how easy it is to use them together, so then you get a Mac. Well, guess what? You just ended up heavily invested in their ecosystem, and now if they increase the prices or modify a service offering, what are you going to do? Leave? You have too much money wrapped in the ecosystem. You're now stuck in their walled-garden because you accidentally allowed yourself to rely on their proprietary solutions. You could have setup a universal solution for file sharing. You could have used solutions that worked across all platforms, not just Apple products, but they made it sooooo easy to fall into the trap. I've seen many fall victim to this, and they're happy! At least, until their iPhone pops up telling them their iCloud storage is almost full, and to upgrade to the next subscription tier.

Are there other reasons? Sure, but those are the big ones. So let's move on to what you can do with self-hosting.

If you're asking what you can do with self-hosting, it'd be easier to answer this question with what you can't do. For the most part, anything you need can be self-hosted, especially so if it's for personal use. Unless you're looking to service a wide audience, you don't need crazy infrastructure. Self-hosting can be done inside your house with minimal hardware, and for cheap. You can host websites, share files, have libraries for media content such as movies, music, photos. You can self-host decentralized services such as your own Chat Servers to talk with your friends and family privately. There are alternates to everything you may use on a daily basis, like Microsoft Teams, iCloud, Discord, or Social Media platforms. The sky is the limit, and it comes with all the benefits that I mentioned above: It's yours, and it empowers you to do everything you can do with a mainstream solution, except you retain your privacy and avoid costly fees or annoying advertisements.

I've romanticized self-hosting quite a bit, so what's the downside? That's the next part. It's the "how" portion. That's the part that turns people away. It's work to learn how to get started. There's a learning curve involved that many don't have the patience to muscle through, and I get it. However, I'd argue that it's not as complicated now as it used to be. With how easy tools like Docker makes self-hosting, I can't recommend it enough. Someone like me who knows what they are doing can setup a self-hosted environment within minutes, not hours. Once you know the tricks, you'll be able to continue to self-host your own stuff for the rest of your life, very easily. Maintaining your own services is also a factor, but it's also not as complex as you'd expect.

For example, I had a friend who was interested in self-hosting, and had an old PC he wanted to use for it. We setup Proxmox and a Debian Linux VM for Docker, and now he can deploy Virtual Machines and Docker Containers within minutes. With Docker Compose, he can launch websites, media servers, game servers, file servers, etc- all with relative ease. Of course, that's just the initial setup. I do recommend doing some boring stuff, like setting up a backup solution. That way, you're covered in the event something goes wrong.

If you're looking to self-host stuff today, my first question to you is simple: What do you want to do? Because depending on what capabilities you need, I'd recommend different hardware to start with. A lot of basic services can be self-hosted on something as easy as a Raspberry Pi, but that also limits you to low powered applications with minimal storage requirements. Do you want to host your media library for movies or videos? Maybe you need to build a NAS, with a handful of hard drives. Maybe enough to setup a RAID / ZFS for redundancy, just in-case a drive fails. Do you need to run game servers? Maybe you need something with strong single-core performance like an old Gaming PC. For many with minimal requirements, there are some amazing mini-PCs out there that are both powerful and affordable. However, the easiest way to start your journey is often with old hardware you have lying around. This could be an old PC, or an old Laptop. Old machines often make for great platforms for self-hosting.

For me, I wanted hardware that could "do it all", and that meant using my old gaming PC. I had an old AMD 3950x based PC lying around, which would be a perfect platform for building a server / NAS. I bought a 4u PC case so I could rack mount the machine, and it included 12 3.5 HDD bays so I could slot in a ton of storage. I also slotted in 128gb of ECC memory- a perfect server that can do it all. However, I find myself increasingly interested in mini-PCs. They're cheap, very powerful for what they are, and would be perfect platforms for a majority of my vital services.

I've given a general summary on Self-Hosting, but now you must decide what you personally want. Do you want to setup a DNS black hole for your entire network so you can remove ads? Do you want a media server to store your videos, music, games, manga, etc.? Do you want a secure space to chat with your friends? Do you want a voice chat server? Game servers? Do you want a website to host a blog, or maybe your photos? Do you want file and/or photo backups? Do you want a backup server for your data? Do you want to setup smart-home automations? I have many recommendations as "must haves" that I would offer.

For example, I personally highly recommend the following services:

  • Bitwarden - Password Manager
  • Matrix Synapse - Chat
  • Mumble - Voice Chat
  • Jitsi Meet - Video and Voice Teleconferencing
  • Nextcloud - Google Drive / OneDrive / iCloud alternative
  • OpenWebUI - Hosting Ollama LLMs
  • Gitea - Your own git repo for various data
  • Jellyfin - Media Server
  • Plex - Media Server
  • Navidrome - Music Media Server
  • Komga - Comic / Manga Reader
  • Hoarder - Bookmarks, Notes
  • Immich - Image Backups / Gallery
  • FileBrowser - Files via website
  • NGINX Proxy Manager - Easy Reverse Proxy
  • RomM - Rom Management / Gaming
  • Actual-Budget - Budgeting Software
  • MailCow - Email Server
  • Wireguard - VPN
  • Home Assistant - Smart Home
  • AdGuard - DNS Blackhole for Adblocking
  • Pi-Hole - Alternate to AdGuard
  • Uptime Kuma - Uptime Monitor
  • Dockge - Manage Docker Compose

Many of these can be hosted on old hardware with no problem. Some can run on single board computers like a Raspberry Pi.

The important thing is to understand that Self-Hosting is more accessible now more than ever, can be done quite cheaply, and you can easily become independent instead of relying on mainstream solutions. You take your data privacy in your own hands, and you avoid the increasingly more toxic services that companies provide. If you're interested in learning more, I can recommend places like reddit.com/r/selfhosted as a place of inspiration, or email me directly. If there's one thing I'd love to do, it's help another person go on this worthwhile journey.