Have you ever thought about what it would mean to manage all of your data and processes yourself instead of relying on services from companies like Google, Dropbox, Microsoft, and others? It probably feels overwhelming, and if you want to change everything overnight, it would be. But there's a whole community of people eschewing the services provided by big companies and are self-hosting their own services instead, and it's never been easier to start on that journey.
What do I need to start?
Aside from identifying what you want to replace with your own tools, you'll need a server to provide compute power, storage to save your data, and a network to access it.
What is a server? While most people think of large data centers full of computers in racks, Merriam-Webster defines it as, "a computer in a network that is used to provide services (such as access to files or shared peripherals or the routing of email) to other computers in the network." By this definition, the bar for having a server is fairly low, meaning a single Raspberry Pi can be used as a server, depending on the function. Indeed, many people host a tool called Pi-hole to help prevent Internet of Things (IoT) devices from spying by blocking much of the traffic the devices try to send. If you need a bit more processing power, you can step up to one of a number of very capable Mini PCs (we've reviewed a few), and if you want to go all out, you can look at buying a small server, either used from eBay or build a machine from scratch yourself.
As for storage, that too can take on many forms. Given the Raspberry Pi example above, the simple microSD card you slide into the device is technically storage and works great for something like Pi-hole. On the other end of the spectrum are devices made specifically for storage, like Synology, QNAP, Terramaster, and other NAS devices.
And on the topic of networking, you can go as easy or complex as you want here as well. While many will want to create separate subnets in their home to segregate servers from IoT cameras from mobile devices from desktops, you can also just put everything on a single flat network and change it out as you go.
All of this to say that if you have an interest in learning more about self-hosting, just jump into the pool and try things out. As the saying goes, "don't let perfect be the enemy of good."
What kind of things would I want to host myself?
There are any number of projects available that you might be interested in hosting, and there's a great GitHub repo that gives a multitude of ideas. The great thing is that many of the projects have demos you can play around with before even having to attempt to run it yourself. Some ideas to get you thinking of what you might want to do are:
- grocy: Manage your home, including what food you have in the refrigerator, all of the manuals from appliances and other things you've purchased, when batteries have been replaced in various devices, and more.
- pi-hole: Setup and manage your internal (local) DNS while also blocking ads and spyware.
- flame: Centralized dashboards that contains links to important applications and bookmarks make your life easier and there are many tools, such as flame, that do just that.
- BookStack: If you want a way to manage information in a Wiki-like format, a tool like BookStack might be something you want to consider.
- Immich: The ability to automatically backup photos from your phone (World Backup Day approves of backups!), and view them from anywhere without sharing the data with Google.
- vaultwarden: If you're worried about a centralized password manager being breached, you could host your own. But check out the Risks section below before you do.
- TrueNAS: If you want to build your own storage device, a solution like TrueNAS might be just the ticket.
This is just a small sampling of the types of things that you can host yourself.
Benefits
As alluded to earlier, there are many benefits to self-hosting your own tools.
- Privacy: If you're getting a service for free, then you are the product. If you're paying for a service, you're probably also still the product to a certain extent. All services have lengthy Terms of Service documents that are difficult to read and understand, and you never quite know what a company is doing with your data, whether it's being sold to advertisers or being used to train Artificial Intelligence (AI).
- Security: Even if a company is keeping your data private, there's no guarantee that your data won't be stolen in a data breach. Remember The Fappening? Would've been much more difficult if the images were self-hosted, and nearly impossible if the data wasn't Internet accessible, something you can decide if you self-host.
- Price: If you're tired of paying monthly subscriptions fees, self-hosting a similar service can be a great way to save some money.
- Knowledge: In my opinion, the biggest benefit to self-hosting is increasing your knowledge of technology. This is especially important if you work in the field, but is equally important for anyone who wants to get into the field or those who just enjoy technology as a hobby. You might not even end up using the self-hosted application long term, but the knowledge and excitement you can gain by learning a new skill is something that can't be overlooked.
Risks
Self-hosting isn't an instant cure for all of your woes though.
- Security: Remember how I said security could be improved by self-hosting? Well, it can be reduced as well if you don't know what you're doing or if you make a mistake. You'll no longer have a big business making sure services are being kept up to date and that threat actors aren't getting into the environment. That's now your job. If you prevent direct Internet access, you avoid (but do not eliminate) a lot of the risks, but then you're impacting the availability of your data.
- Costs: While we grumble at paying $10/month for a service, the truth is that if you're buying a server with some hard drives, a new network switch and maybe a router, it's going to take a long time to recoup the money you spend on an annual basis. Some things, like hosting a Plex server to record television shows with an antenna, are an easy way to justify savings, but others, like using Immich or Synology Photos as a Google Photos replacement might be harder to justify. In addition, you have to factor in the cost of electricity to power your devices, and in many parts of the world, that's fairly expensive.
- Burnout: While adding knowledge is a benefit, it's important to take an inventory of yourself to decide if you're doing too much. Some people love spending 12 hours keeping services up and running at work, and following it up with learning a new technical skill at home for the next six hours, but for some people that can get to be a bit too much. A lot will also depend on what else is going on in your life. You don't want other responsibilities to slip while you're spending time building your self-hosted environment.
What have we covered?
Here's what we've covered in this series of articles so far:
- Hypervisors, specifically focusing on Proxmox Virtual environment (PVE)
What are we going to be covering?
The plan is for this to be a long running feature where I'll cover a lot of different topics for you. Some examples of the topics I'm hoping to explore are:
- Hypervisors, specifically focusing on Proxmox Virtual environment (PVE)
- LXC Containers
- Virtual Private Servers (VPS)
- NAS Devices: Building your own vs. buying off-the-shelf
- Networking (VLAN, pfSense, etc)
- Server Access from the Internet (Wireguard/Tailscale/OpenVPN)
- KVM devices (TinyPilot/PiKVMv3)
If you have an idea for something you'd like to see covered, let us know!
Conclusion
I hope that you're excited to jump into this concept of self hosting. While I don't expect anyone to dump every cloud application, having the ability to control your own data if you so choose is empowering and something that, if you've read this far, you should at least consider trying out. If you're interested in a career in IT, or just want to expand your current skillsets, it's a great way to get exposure to technologies you might not have been able to use in the past.
You can read all of the articles in the series by searching for the 'selfhosting-guide' tag.
If there are any topics that are of particular interest to you, feel free to drop a comment below and it might be something that I can write about in a future installment.
9 Comments - Add comment