Why You Should Self-Host Everything
Tags: selfhosted, docker, opensource, productivity
Published: 2024-05-27 12:16:49

In today's digital age, it seems like everything is subscription-based. If you're not paying for a service, you're likely being monetized by watching ads or providing personal data to companies that don't necessarily have your best interests at heart. The internet has become a polluted space where our online activities are tracked and sold to the highest bidder. 
And most companies try to exploit and leverage human behavior for profit.
But there's a way to take back control: self-hosting.

**The Problem with Centralization**

When you use popular services like Netflix, Facebook, Dropbox, or Microsoft Office 360, you're entrusting your data to companies that have no obligation to keep it private or secure. These corporations are incentivized to collect and sell your data to maximize their profits, often without your consent. This centralization of information has created a surveillance state where our online activities are monitored and analyzed for commercial gain. In some cases you pay twice: with your data, and with your wallet. Now it's more visible then ever, when suddenly your repos are being fed to train AI models if by any chance your are using Github.

**The Alternative: Homelab Server**

Self-hosting is not just about moving your data from one centralized location to another; it's about taking control of your digital life. By setting up a homelab server, you can store your files, communicate with others, and access your favorite services without relying on third-party companies. With a homelab server, you'll have complete control over your data and can ensure that it remains private and secure. To achieve that you will need either pretty solid NAS (like Synology) or micro-pc, like Intel NUC. Raspberry Pi won't do unfortunately, unless you run up to 4 lightweight containers.

**Cost Comparison** 

While setting up a homelab server may require an initial investment of time and money, it's often more cost-effective in the long run. For example:

* Cloud Service x4: $10 per month x 12 months x 4 = $480
* Intel NUC or Synology NAS: approximately $300-$500 (depending on options you choose)

So depending on your situation and amount of services you are currently subscribed to, the cost of homelab will pay itself in about a year! 
Of course there is also cost of time, and required maintenance, but with proper setup it can be minimal effort.

**HomeLab possible solutions**

As I mentioned, best options are not that expensive, and all you need is a micro-pc. Here's a list of good options eligible for solid docker based homelab:

- [Intel Nuc 11 i-7, 32GB RAM, 1TB](https://amzn.to/4aRU8R3) $550 - solid starting point with quite a bit of storage, and a lot of RAM. 
- [Intel Nuc 11 i-7, Bare](https://amzn.to/4bUQy9C) $390 - No ram, no storage option, if you want to upgrade it yourself from scratch
- [Intel NUC 11, Celeron N5105, 8GB RAM, 256GB SSD](https://amzn.to/3KgLkZW) $240 - Low budget option, I know - it's twice as expensive as RPi 5 with the same amount of RAM, but let's be honest - you cannot extend Raspberry Pi
- [Raspberry Pi 5, 8GB](https://amzn.to/4bVYpDY) $95 - For the sake of completion. You would still need to buy SD Card. But you can at least set up Pi.Hole and Pi.Alert on it.
- [Synology 2-Bay NAS DS223, 2GB RAM, Diskless](https://amzn.to/3Kjwpy2) $250 -  For those who favor storage space over computing power. As you can see, compared to NUC, it does not have much RAM.
- [Synology DS723 2-Bay, 2GB RAM, 8TB Storage](https://amzn.to/3Kjwpy2) $990 - A bit more powerful machine with quite solid CPU, but still in range of 2GB of RAM. Some versions comes even with docker preinstalled.

Overall, as you can see, Intel NUC might seem like more cost-effective solution, however NAS has it's own benefits, and often comes with preinstalled OS and Manager, where you can deploy docker on your own.

**Easy Deployment with Docker**

Setting up a homelab server doesn't have to be a daunting task. What we need is ubuntu or debian OS on our machine.
With the help of containerization platforms like Docker or Podman, you can easily deploy and manage your services without requiring extensive technical expertise. And after initial setup and ssh exposed to your local network, you won't even need to connect your monitor and keyboard anymore, unless to upgrade the whole system again!

You can read how I did it in future article. But for now, there is still one more step in our setup.

**Open Source Community**

The open source community is thriving, and many self-hosted services are built on top of these collaborative efforts. Now more then ever we have a ton of open source software "just laying around" GitHub. 
Many of those software offer simple one line setup for docker. The best thing about docker is, that you don't have to worry about dependencies. And know what's best about them? Because they are open source, it means that you can contribute yourself as well! You are missing a feature? You found a bug and fixed it? Create a Pull Request, Report, Contribute! That's what makes open source community thriving. And by doing a homelab environment, there's nothing stoping you from doing your own docker hosted tools!

**Conclusion**

Self hosting and running a homelab was never as easy as this. Not that long ago I was running Proxmox and creating VM for everything I needed. Problem is, VMs take up a lot of resources, and without RACK they are highly unreliable, unless you do Penetration Testing and you need like 3-4 environments. Single OS with docker makes it much easier! And by self-hosting everything, you'll enjoy numerous other benefits:

* **Privacy**: Your data remains private and secure, away from prying eyes. You own your data, not a third-party.
* **Control**: You have complete control over what's running. You own the server. Nobody beside you have access to that server.
* **Flexibility**: You can choose the services and software that best suit your needs, without being locked into a specific ecosystem. You can integrate them if you want, or keep them separate.
* **Financial Benefits**: In the long run, self-hosting can be more cost-effective than relying on subscription-based services.

In an era where data is the new currency, it's time to take back control of our online activities. Self-hosting everything offers a powerful alternative to the centralization of information and provides a way to ensure that your digital life remains private, secure, and flexible. Join the self-hosting movement today and start reclaiming your digital sovereignty!

**UPDATE!**
Because couple of you asked for AMD solution, I dug deeper into mini-pc market, and found couple sweet deals, even one favorite I would definitely went for, if I chose to change systems!
- [MINISFORUM EliteMini UM780 XTX AMD Ryzen 7 7840HS, 64GB DDR5 1TB](https://amzn.to/4bQqb4C) $690 - This one is packing! 
- [Beelink AMD Ryzen 7 16GB RAM 1TB SSD](https://amzn.to/3V1pSx8) $360 - Cheap option, good option for starter with great CPU.
- [Kamrui AMD Ryzen 5 16GB DDR4 512GB SSD](https://amzn.to/450mAid) $270 - Slightly cheaper option, more than enough, definitely more than you would get from VPS for $20 a month. Better value then Intel NUC's alternative in similar price range.