Nowadays this might not be a question many people would ask themselves, but with the increased problems with privacy, security, cheaper hardware, more open source, and free software, it would be worth at least looking at the possibility of hosting your services on your hardware.
Now don't get me wrong, there is nothing wrong with using a commercial version, but the point of this article is to look at some positive and negative sides of both options.
Before I go further let me just say that I am all for self-hosting. Of course, if you can pull it off. There is a lot of things that go into making this work, and to make things more complicated, the more services you add, the more administration and maintenance you need to do. Sure, some people will say that's nothing, others will simply say that is not for them and continue to use commercial solutions.
So, first things first, what is "self-hosting"?
Well, to self-host a service would mean that you hold all the keys. From hardware all to way up to the service/app layer. You have no dependencies towards any element that makes your service run. Well, that is not entirely true because power and the Internet are two elements that you also can't completely control right? If there is a major problem regarding those two elements your service will not work.
Sure, if those are down you might be completely unable to use a commercial service as well, but in some cases, you could. Jump on your mobile device and use a 4G connection, problem solved. So this was just a quick example of a negative side of self-hosting an important service.
Bottom line, if you want to self-host any service yourself, you need to be aware of what elements will need to be included in your decision making.
Most people would look at the final point, saving money that they have to pay for commercial service. That is the least of your worries when focusing on self-hosting.
Let's look at some examples of what you could self-host as oppose to using a commercial service, and take it from there. I will focus on some elements that are important to me and that I use on daily basis. Also, most are privacy driven, but you will get the idea.
- Password manager
- Encrypted notes
- Private chat
- Website hosting
- Media platform
Categories above are some of the most common today when it comes to personal or business aspects of using the Internet.
Now I won't go into details of explaining how each of these categories might be beneficial to be self-hosted or not, I just wanted to give an example of what type of services I prefer to have "on-site", on my hardware.
This blog is 99% dedicated to Synology NAS solutions so it shouldn't come as a surprise that all of those elements can be hosted on one of those devices.
What do I need to self-host?
To successfully self-host the first thing you need, is the will to do it. I know a lot of people in the IT profession that tried it and then quit. Why? Because if you work in IT the last thing you want to do is come home and do some more of the same work!
Now, this doesn't mean that some of them are not hosting at least one or two services, but as soon as that becomes a task that will take 2-3 hours a week to maintain, well, the enthusiasm will go down real quick. Those are IT, people. What about a "regular Joe" that has to learn how to use it all and configure it to eventually enjoy the benefits of self-host? See what I mean?
So, will to do it! If you have it, then the next thing you need is a place to keep your hardware. Depending on the size of the device (noise, heat, footprint, etc), you should choose the location wisely.
The main reason for this is that once you get it up and running and you start using it day-to-day, it will be a task and a half to move it to a new location! Again, this will depend on its size, downtime of services that you are comfortable with, etc, but not something you want to do often as you will lose the will and fail in the long run.
Will, check, location, check. Next, you need network communication with the rest of your home network and eventually towards your ISP. In some cases, your self-hosting hardware can be in the same room or space as your router and switches and whatnot, but if that is not the case, then be sure to have adequate network connectivity and bandwidth for all your needs.
Cabling is something that most people don't focus on because today it's all about WiFi and all the G's (4G, 5G, etc). Well with self-hosting, nothing beats a good old cable or wire (copper, fiber, or any other), period. The last thing you want is for your server and its services to not be accessible because the member of your household just started streaming a 4K video off YouTube and your wifi is struggling. With that said, your hardware should be wired with the rest of your network.
While we are on the subject of wires and cables, especially if you are considering doing it now, I would advise you to go for Cat6 or better cable. Why? Well, 10Gbit LAN has started to become more affordable and in the near future, it will finally replace a good old 1G that we all have. On top of that ISPs have started to offer more and more high speeds (1Gbit or more) towards residential destinations, so your LAN network in that case should be at least on par if not faster. Look at it as a long term investment.
Let's recap a bit so far:
- Will to do it
- Location to place your hardware
- Good network connectivity with high bandwidth throuput in mind
Ok, so not bad, only three things on the list so far. If you are already losing your motivation, it will only get worse, trust me! But, in the end, it might pay off!
Good, we set up the hardware, we connected it, all is good. Now comes the hard part.
How much will it cost to self-host?
Uff, this is a tough one. Usually, it is also the main reason that most people turn to commercial solutions. But here is the catch. Do you want it private, or do you want it cheap and "public"? This is one of the questions that I ask people that challenge me when it comes to self-hosting.
Nothing is free and that is a fact. How much will it cost you in the end, might not be something that you will be happy with? The reason is that it will usually cost more (a lot more) than just using commercial services. Then again, if you start to utilize your hardware to the point that it is a substitute for multiple services and apps, that gap will start to shrink down. Will you get to an even zero or even benefit (financially) from it, it's up to you.
DISCALMER: Before I continue with certain products I want to be clear that none of those companies/individuals are in any way related to this article or blog and are not sponsoring it. All the opinion that are writen in this article are my own.
Let's look at some practical numbers.
You need a NAS, let's say a 2bay solution that will be in the mid to high range, 350€. Put a couple of 4TB drives in there, that's another 200€, maybe a network switch on top of that and you are on a solid 600€ of some basic hardware.
Before you run away, keep in mind that NAS devices are more than just simple storage units. Those are servers that can do a lot and I mean a lot of tasks that you want. Of course, be sure not to overload them and expect them to do things that some stronger models can do with ease. Those cost more as well.
Considering that a NAS is a long term investment, and your whole family can use it as well, you should break that cost to at least 5y. So in the end you get about 10€/month worth of hardware (that will not have a significant power bill boost, but also consider it) for your whole family (and friends or your small business) for a large number of services that you don't have to pay any more. Wait what? That doesn't sound right!
Well, it does. Considering this is a practical example let's compare it. Synology NAS offers a service called Synology Drive, in short, a Dropbox on steroids alternative.
Even if you use this one package on your NAS for your whole family or a small office, it would be better than using Dropbox when you compare its price and offerings.
For 10€ DB will give you a single user account with 2TB of space. If you want more users (6 in this case) you need to pay 17€ for that same 2TB that it is now shared. Case closed.
NAS from this example can give you a total of 8TB of usable space (or 4TB with an active redundancy) for any number of users, the device is private and on your premises, and again, that's just for this one service as an example.
If you continue to add to the list, you will see that some of your IT services that you use the amount to a nice sum over one year.
As another example, let's look at a password manager. 1Password as a very popular manager will cost you about 60$/year for 5 users. Bitwarden on the other hand will cost 40$/year for 6 users. Ok, so it's cheaper. But did you know that you can have Bitwarden hosted on your NAS and use it for 0€ for an unlimited number of users? Why? Well, you already paid off your NAS with one service (Drive vs Dropbox) and BW just became free because your can self-host that same service on your NAS. Mindblowing right?
The list goes on and on and on.
So up until now, if you add DB family price and 1Password you come to a total of about 260€/year for 2TB of shared space and 1Password family package. That's about 75% of the initial NAS price just for one year. Multiply that over a 5y period, and I think it is clear that you spend a lot on commercial services right?
In conclusion, when it comes to price, you can be sure that you will save in the long run for sure. The more services/app you self-host, the quicker your NAS investment will pay off. Also, after let's say 2y you will start "earning" money by not spending on those services no more, and you can invest in something else.
How and what to self-host?
Well if we recall about the categories that I mentioned before, a large number of apps and services come to mind. Also, some were mentioned already.
I would like to remind you that when it comes to self-hosting, for me, the main driver is privacy. That being said, running a personal password manager on-premise is for my peace of mind a lot safer than running it on commercial infrastructure.
Sure, it might be safer to have it on a commercial one from the point of accessibility and general uptime, but that is something that can be configured in the case of self-hosting as well. It will be all up to you, your HW and SW solutions, and of course knowledge.
If we look at this trend you might think that you can self-host almost anything right? You will be right. With open source in general, Github, Gitlab, etc, you have the option to use a lot of alternative commercial solutions and install them on your own HW.
Chat platform as one example. SLACK, Mattermost, Teams, all serve the same purpose. But (apart from Mattermost in one of their tiers) none of them offer a self-host open source solution. So if you look at a few alternatives you will find them, like Rocket.Chat for example. Having a private E2E encrypted chat platform that you can customize the way you want for any number of users. Sounds too good to be true right?
Also, what about this Office 365 that everybody is talking about? Do you use it? It's great right? 5 licenses for all your devices, all the tools that you need for your productivity, hosted email account, the works. But did you know that you have no backup for O365? No, you don't, you don't. Microsoft will not cover you for it. There is an upside though. If you have a certain Synology NAS model that supports Active Backup for Microsoft 365, you are good to go! You can have your complete O365 data backed up to your NAS, for free. That's right, no licenses no nothing. You just install it, connect it to your O365 account, and backup. Sweet deal considering that you may already use your NAS for some other services.
The list can go own but also there are certain cloud services that you can't self-host.
One example that I am more than happy to pay for, cloud gaming platforms. GeForceNow, Shadow, Stadia, and the likes. For a small price, you get a brutal gaming platform that you can use on any desktop or mobile device in your house, now that's just great.
I love the idea that I can play a AAA Windows only game on my 2011 Macbook Air or my phone. No noisy gaming rig under my desk, using massive power just for this one purpose. This is one example of how cloud services could be beneficial. I'm sure that some people say the same about their services that they don't want to run on their own HW, but just saying that it is possible in the right conditions.
Conclusion
The idea behind this article was just to give you an example of what it means to run a self-host set up at your end, and that not all services deserve your hard-earned money. If you invest, maybe some things can be more secure, give you more features, and cost a lot less in the long run.
Do you self-host? What are you planning on? Let me know down in the comments.