DEV Community

Błażej Adamczyk
Błażej Adamczyk

Posted on • Updated on

Why You Should Self-Host Everything

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:

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!

Top comments (63)

Collapse
 
amjadmh73 profile image
Amjad Abujamous

Thank you for writing this article. There is a reddit community where we help each other figure things out if someone is stuck at a certain task. Anyone self hosting their software is welcome to join!

reddit.com/r/selfhosted/

Collapse
 
sein_digital profile image
Błażej Adamczyk

I'm already part of it :D

Collapse
 
nexustx profile image
Jack

Go to !selfhosted@lemmy.world on join-lemmy.org/ instead. Unlike Reddit, Lemmy can actually be self-hosted and it's federated, just like Mastodon.

Thread Thread
 
best_codes profile image
Best Codes

Not what is being discussed here. We are talking about self-hosting websites, not posting on Reddit.
The Reddit link was a link to a community related to the post.

Collapse
 
nexustx profile image
Jack

Reddit sucks, use Lemmy instead. It's open source and can actually be self-hosted, and different instances are federated via ActivityPub, just like with Mastodon. And don't forget what Reddit did to 3rd-party clients. There's no reason to use it in 2024. There's a relatively big self-hosting community on Lemmy: !selfhosted@lemmy.world

Collapse
 
sein_digital profile image
Błażej Adamczyk

you are selling that lemmy hard

Thread Thread
 
nexustx profile image
Jack

Cuz Reddit hates their users and their CEO is an absolute asshole

Thread Thread
 
ezpieco profile image
Ezpie

Well finally someone agrees with me! I knew that jerk was a... well you know... a jerk... Yeah I don't english, and that's the reason why you use Lambda! I EzpieCo am the creator and the only protector of privacy and happiness!!! I have created the world's first ever open-sourced community driven privacy focus trust based social media app, Lambda!

I know I am a professional marketer, real profession with a PhD... Yup I am a profession at my job.

But seriously I sure hate Zuck Muckerberg and Steve Huffman

Collapse
 
phlash profile image
Phil Ashby

Thank you for raising this topic and providing practical options for a home server (personally I have a Dell mini-tower sever with a 4TB disk array running Debian), looking forward to the articles about software packages :)

Are you going to cover some of the downsides too, such as: email deliverability in an increasingly closed ecosystem of just a few large providers; denial-of-service risks on residential network links; broadband providers dislike of self-hosting (not all it must be said!); information / network security considerations when exposing service endpoints to the 'net (the patch vigilence required, monitoring / alerting, defence tools, etc.)?

Collapse
 
tnypxl profile image
tnypxl

broadband providers dislike of self-hosting (not all it must be said!);

It's not the self-hosting that matters to ISPs. Its exposing your residential broadband connection to incoming traffic from the public internet. The point of self-hosting is largely not that at all. If anything you're likely using VPNs or some kind of private proxy to access your self-hosted platform remotely (if you're not running it in the cloud).

Collapse
 
phlash profile image
Phil Ashby

Ah OK - I didn't get that from the original article - I was assuming self-hosting Internet facing services specifically to avoid centralised monopolies, such as email, web pages, file-sharing, social media, etc. You were looking at Internet-accessible home services 😄

Thread Thread
 
tnypxl profile image
tnypxl • Edited

No, I meant exactly that. ISPs don’t care you’re using those self-hosted services unless you’re trying to distribute and download copyrighted content.

Collapse
 
sein_digital profile image
Błażej Adamczyk

Exactly what @tnypxl said. Self-hosting is not about exposing anything to internet. It's all about keeping it in the intranet. You can of course connect to your network via various options, like VPN (having static IP, or Dynamic DNS) or via tunneling (there are sites that act as tunneling proxy and manager, so you don't worry about setting up VPN by yourself)

Collapse
 
mmuller88 profile image
Martin Muller

downsides and upsides please :)

Collapse
 
nlxdodge profile image
NLxDoDge

While I am also self hosting a couple things, keep in mind that internet isn't free, just as electricity.
A have a bit more lifting to do with other applications 🏴‍☠️ (kugh), but my CPU uses at best 65 watts at 100%, if I pay 30 cents for every KWh at 50% CPU usage average, at the end of the year it costs me around 85 euro's.

And internet costs me around 60 euro's a month, because of the monopoly that they have here, sadly. So that's 720 euro's a year (Which I am paying regardless, but anyways).

And the server itself was like 300-400 euro's when building myself.

Collapse
 
sein_digital profile image
Błażej Adamczyk

That true, but the electricity and internet bills vary depending on country/region you are from, and those are inevitable anyway. Of course, you have to pay extra for electricity running your own server, but the cost of internet remains the same regardless.

Collapse
 
opisek profile image
Opisek • Edited

Honestly, a Raspberry Pi will do just fine! Don't discourage people from using it. The more people get into self-hosting, the better, and we should not be gate-keeping anyone. I rocked a Raspberry Pi 4B with 4GB of RAM for the longest time with over 20 or 30 containers and different services. Since you're likely the only person using them, the limited processing power and memory isn't a huge problem. Only about one year ago did my Raspi start to fail me (though I suspect changing the thermal paste could've done the trick) which is when I switched to a much more powerful setup made from repurposed parts of my gaming computer, that I upgraded at the same time.

Collapse
 
sein_digital profile image
Błażej Adamczyk

Sure, for couple containers you are running and lightweight version of rasbian it's fine. But the more containers you run, the more you start to realize it's limitations. Although I have version 3 not 4 or 5, so maybe there was higher performance spike then what I imagine. Nonetheless, for media server for example, raspy seems not enough :)

Collapse
 
opisek profile image
Opisek

Oh yeah, the performance is significantly better. Raspberry Pis 4 and up run on 64 bit instead of 32 bit for starters. Media servers might be where they hit the limits, especially if we're talking about 4K.

Collapse
 
xcs profile image
Cristian

Awesome article!

I also think self-hosting is the future, and have considered it to be so for many years while working on my self-hosted analytics platform. I avoided providing a "hosted" solution, because that would alter my goal of making self-hosting as easy as possible.

Collapse
 
rishabk7 profile image
Rishab Kumar

Great post, I would also suggest, if you have an older laptop or you are planning to upgrade your PC, use the old one as a homelab server. I did something similar, I have a 2012 dell laptop, which is pretty outdated for daily use, but I upgraded it with an SSD(costed me $150) and configured it with linux. Now it acts as my homelab.

I would add that there is some complexity to set this up, especially in terms of security!

Collapse
 
sein_digital profile image
Błażej Adamczyk

Sure! Security considerations are minor in the local network, but it's worth your time nonetheless.

Collapse
 
deozza profile image
Edenn Touitou

Sure, because self-hosting prevents you from electricity outages, network outages, price surges for both of these, you can have redundancies, you are a security expert and can assure your clients you are protected against 99% of malwares and cyber attacks, you will never trip on the RJ45 and unplug the server causing severe damages to your SLA.

Self hosting is good for personnal projects and hacking as a hobby. Not for production deployment.

Collapse
 
sein_digital profile image
Błażej Adamczyk

Exactly. The post is all about homelab. Homelab is exactly what you do for personal projects and hacking :)

Collapse
 
dipanjan profile image
Dipanjan Ghosal

To avoid bankruptcy in case your cloud provider decides to keep scaling you "unlimitedly" on a ddos attack

Collapse
 
nieebel profile image
Nieebel

Great overview for self hosting: fosstodon.org/@selfhst

Collapse
 
nieebel profile image
Nieebel

You could also install Docker on refurbish old/broken Android smartphones and use them as an Raspberry Pi alternative: digitalcourage.social/@aligyie/108...

Collapse
 
documendous profile image
Documendous

Very good article. This needs to be emphasized imo. It would help many new and aspiring devs to better understand what goes on from front to the very back. Great post!

Collapse
 
wickenhauser profile image
Mark

I totally agree! I tell everyone that the cloud is just someone elses computer, and no matter how look at it, they have control over your data and access to your data.

Collapse
 
ronen_magid_4e425854de7c9 profile image
ronen magid • Edited

Hosting from home is okay if you have a blog or a simple non critical free app. But you cannot compare the reliability of cloud services to the mess you can experience as a residential internet customers. Your paying customers don't care if Verizon is now digging in your neighborhood and networks' down, or if your cable providers suspects your incoming traffic and blocks or throttles it. I think it's pretty safe to assume that you'll step on the "network doesn't work" landmine at the worst of times -- when you're actually successful and begin ramping up on traffic and traction. Imagine having to shut down your service for a week or 10 days so you can migrate to the cloud.... how many clients will you be able to keep?

With that said--- the choice isn't limited to "AWS/GCP/Azure" or "Your home office" when it comes to hosting. You can co-locate as well and put your "metal" infrastructure at a professionally managed hosting center. You gain full control over hardware costs and pay for electricity (as you would at home) but you benefit from a reliable, professional grade network that isn't subject to residential limitations (e.g. "hey Verizon, I know I only have 1Gbit, but I need my house to support 100Gbit because my app took off. Can you install that by Monday?"........ [hangup]).

Collapse
 
sein_digital profile image
Błażej Adamczyk

I think you completely missed the point. This is related to homelab and intranet, not business essential infrastructure. The point of doing homelab is to play around, run some services locally that are open-source and reduce subscription costs (this is for the cost-saving), do some pentesting environment, or - if we actually considering business related cases - run internal business apps on the on-prem server. And guess what? ISP for companies offer priority lines with 2-6hr SLA. Running SaaS startup on your home network is not a part of discussion here. And I agree, that's a crazy scenario.

Collapse
 
ronen_magid_4e425854de7c9 profile image
ronen magid

I believe you're right about me missing the point then.

Collapse
 
best_codes profile image
Best Codes

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.

Your links at the bottom are affiliate links. 🤪

Collapse
 
sein_digital profile image
Błażej Adamczyk

You gotta pay for that electricity bill running that server :D

Collapse
 
best_codes profile image
Best Codes

Haha, of course. I understand. :)

Collapse
 
langrisha profile image
Filip Dupanović

I use a Chromebook for development. It's from 2021 and I still like the machine, but with the specs I'm pretty much forced to work from remote environments.

Having a good connection to your development environment and editor's server is kind of important. I mostly use VS Code and I travel a lot, and unless I'm able to move my environment as I change continents, the experience degrades.

I'm kind of used to it, but whenever I get my hands on a expensive device to work from a bit, I miss the instantaneous startups and feedback from interacting with the terminal.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.