I used to self-host because I liked tinkering. I worked tech support for a municipal fiber network, I ran Arch, I enjoyed the control. The privacy stuff was a nice bonus but honestly it was mostly about having my own playground. That changed this week when I watched ICE murder a woman sitting in her car. Before you roll your eyes about this getting political - stay with me, because this is directly about the infrastructure we're all running in our homelabs. Here's what happened: A woman was reduced to a data point in a database - threat assessment score, deportation priority level, case number - and then she was killed. Not by some rogue actor, but by a system functioning exactly as designed. And that system? Built on infrastructure provided by the same tech companies most of us used to rely on before we started self-hosting. Every service you don't self-host is a data point feeding the machine. Google knows your location history, your contacts, your communications. Microsoft has your documents and your calendar. Apple has your photos and your biometrics. And when the government comes knocking - and they are knocking, right now, today - these companies will hand it over. They have to. It's baked into the infrastructure. Individual privacy is a losing game. You can't opt-out of surveillance when participation in society requires using their platforms. But here's what you can do: build parallel infrastructure that doesn't feed their systems at all. When you run Nextcloud, you're not just protecting your files from Google - you're creating a node in a network they can't access. When you run Vaultwarden, your passwords aren't sitting in a database that can be subpoenaed. When you run Jellyfin, your viewing habits aren't being sold to data brokers who sell to ICE. I watched my local municipal fiber network get acquired by TELUS. I watched a piece of community infrastructure get absorbed into the corporate extraction machine. That's when I realized: we can't rely on existing institutions to protect us. We have to build our own. This isn't about being a prepper or going off-grid. This is about building infrastructure that operates on fundamentally different principles:
Communication that can't be shut down: Matrix, Mastodon, email servers you control
File storage that can't be subpoenaed: Nextcloud, Syncthing
Passwords that aren't in corporate databases: Vaultwarden, KeePass
Media that doesn't feed recommendation algorithms: Jellyfin, Navidrome
Code repositories not owned by Microsoft: Forgejo, Gitea
Every service you self-host is one less data point they have. But more importantly: every service you self-host is infrastructure that can be shared, that can support others, that makes the parallel network stronger. Where to start if you're new:
Passwords first - Vaultwarden. This is your foundation. Files second - Nextcloud. Get your documents out of Google/Microsoft. Communication third - Matrix server, or join an existing instance you trust. Media fourth - Jellyfin for your music/movies, Navidrome for music.
If you're already self-hosting:
Document your setup. Write guides. Make it easier for the next person. Run services for friends and family, not just yourself. Contribute to projects that build this infrastructure. Support municipal and community network alternatives.
The goal isn't purity. You're probably still going to use some corporate services. That's fine. The goal is building enough parallel infrastructure that people have actual choices, and that there's a network that can't be dismantled by a single executive order. I'm working on consulting services to help small businesses and community organizations migrate to self-hosted alternatives. Not because I think it'll be profitable, but because I've realized this is the actual material work of resistance in 2025. Infrastructure is how you fight infrastructure. We're not just hobbyists anymore. Whether we wanted to be or not, we're building the resistance network. Every Raspberry Pi running services, every old laptop turned into a home server, every person who learns to self-host and teaches someone else - that's a node in a system they can't control. They want us to be data points. Let's refuse.
What are you running? What do you wish more people would self-host? What's stopping people you know from taking this step?
EDIT: Appreciate the massive response here. To the folks in the comments debating whether I’m an AI: I’m flattered by the grammar check, but I'm just a guy in his moms basement with too much coffee and a background in municipal networking. If you think "rule of three" sentences are exclusive to LLMs, wait until you hear a tech support vet explain why your DNS is broken for the fourth time today.
More importantly, a few people asked about a "0 to 100" guide - or even just "0 to 50" for those who don't want to become full time sysadmins. After reading the suggestions, I want to update my "Where to start" list. If you want the absolute fastest, most user-friendly path to getting your data off the cloud this weekend, do this:
The Core: Install CasaOS, or the newly released (to me) ZimaOS. It gives you a smartphone style dashboard for your server. It’s the single best tool I’ve found for bridging the technical gap. It's appstore ecosystem is lovely to use and you can import docker compose files really easily.
The Photos: Use Immich. Syncthing is great for raw sync, but Immich is the first thing I’ve seen that actually feels like a near 1:1 replacement for Google Photos (AI tagging, map view, etc.) without the privacy nightmare.
The Connection: Use Tailscale. It’s a zero-config VPN that lets you access your stuff on the go without poking holes in your firewall.
I’m working on a Privacy Stack type repo that curates these one click style tools specifically to help people move fast. Infrastructure is only useful if people can actually use it. Stay safe out there.
How can I learn more about this stuff because I think like a lot of people I’m not that tech savvy
I'm not tech savvy either. but it has been fun trying to figure the basics out, and researching all of this has been way better for my mental health than consuming endless social media.
It's a bit steep, you can go on YouTube for a bit, then browse the documentation of any word you don't understand (AI can help a lot with understanding but will get confused at any troubleshooting task) the steps can be resumed quite easily:
Find an OS:
Then you have a rough idea of your needs (this is all YouTube knowledge thus far, you can start looking at videos of people trying to use, comparing, ranking different solutions and tutos for how it's like to set up for the first time and how do app work in those systems (docker, app stores, how big the community is around them, how much of a sysadmin you have to be to run and set it up...)
Then from that you can start seeing how which install fits in your budget and time allocation. After that, sinking hours of troubleshooting and setup is almost straightforward, it's just going to be a list of side quests to complete the main one with a side of documentation.
On my side I initially wanted to go full free software, I wanted to use my 10 years old windows desktop to run trueNAS (it was already running jellyfin in docker desktop, useless for the process but is a fun starter to dip a toe in to get a feel). I bought on eBay a couple hard drives (ended up buying very cheap enterprise SAS, I recommend, mind you you'll need a daughterboard)(you'll see that different OS require different RAM, SSD, HDD ratios to run smoothly so recycling old hardware often requires upgrades) I completely failed to make trueNAS work correctly and since it's enterprise first it has very... unfriendly conceptions about flexibility and user friendliness (brutal on the kind of budget and time I had).
After abandoning the project for a couple of months (due to exams mainly, and the fact I couldn't repress myself from spending nights on unresolved issues) I decided to go the Unraid route (which is paid, yikes, but truly hasn't let me down once, the community is huge and the software is rock solid and really helps you not fuck everything up (which trueNAS will happily let you do), I truly recommend that investment, they have a generous trial period, it's really really great).
After that it's just more setup for hours on end, transferring files to Immich, re-setting all the AI knowledge about faces (also for me a lot of metadata correction for very old family photos), letting disks and parity initialize, moving old backups from old drives into the new system, including the clean disks into the array, setting up prowlarr, radarr, sonarr, jellyfin.
Then comes the other hard question : how to do you access remotely ? (By now you already have a better idea about how docker and local network works and how important it is to secure it properly; and you're about to learn how little your ISP cares about you)
I tried boilerplate wireguard, it's wonderful but a very MANUAL setup with a DDNS. But honestly (even though I really did not want to spend another penny) the cloud flared tunnel with your own domain is kind of what you want (because they have neat zero trust features, for exemple to access any of the services I host that do not have to have in-app access (Immich, jellyfin, that have authentication built-in) are behind 2FA based on a short whitelist of email addresses which reduces immensely how much protection I have to care about.
After that you can go on to nextcloud (requires remote access on a domain) and all the rest of the fun stuff.
Now the thing is (like every hobby) there is a perfect solution, it's at least tens of thousands of euros and you need a guy to manage it, but it's bulletproof and will survive any attack.
You are not that person, you try stuff that is on your level, you don't assume perfect functionality in one weekend and you take time to learn on every step of the way. In my quick little summary you can already feel (as I am a noob as well) that it's a very iterative process, often you'll half-ass something to move on, then come back to upgrade it when needed. You are very much building a machine, first from the hardware side, then mainly from the inside.
At some point you'll have people around you start finding out how useful and interesting all this is, and it's a very rewarding feeling to see what you assembled (because you haven't typed a single command line in the terminal thus far) starting to get some use.
Hope this helps as a little piece of motivation, and if you are to start now I hope you have some old RAM laying around, in any case, start small and build up :)
Just start. Even the most tech savvy of us started not knowing any of this. More importantly do what you’re interested in and that benefits you. You don’t have to have some grand implementation. Start simple and the rest follows.