In the first part of this series, I’ve given you an overview of the services I host on my own servers to be independent of hyperscalers and to keep my data private. The number of services is stunning so there must be a lot of hardware standing around. Well, not quite so, let’s have a look:
Initially: Humble Beginnings
The final straw that made me start this adventure was the file sharing service on my DSL router in Cologne, which at the time was very slow and unreliable. This coincided with the first Raspberry Pi having become available on the market which was the ideal platform to host a small Nextcloud instance, first for file exchange only but pretty quickly also for calendar and contact synchronization. Humble beginnings.
First Evolution Bare Metal and Virtualization at Home
Over time, I added more and more Raspberry Pis for other service until I had around 5 of them stacked on each other in a cabinet. At this point I decided to buy a more performant Intel NUC, still in a small and portable format, and use KVM and the Virtual Machine Manager to run my services on virtual machines on a single physical machine. For the most important services, I kept some Raspberry Pis running as warm standby spares.
Second Evolution: Multi-Country, Multi-Homing
Having redundancy is important, so at some point I decided to buy a second NUC and run it at our second home in Paris, which incidentally received a fiber connection 10 years ago, while I’m still stuck on a copper line in Germany. Together with a cellular backup link in Cologne, this triple redundancy has served me well over the years, as I’ve had the occasional multi-day outage of both the copper line in Germany and the fiber line in Paris.
Third Evolution: Bare Metal, Virtualization and Containers at Home and in a Data Center.
One can never have enough redundancy, and at some point I saw an opportunity to rent a bare metal server in a data center in Finland for around 50 euros a month. In additional to even more redundancy, I could have more than just one IPv4 address on that server, which I wanted to have for a long time to run more services on standard ports on several virtual machines. This was something I could not do at home with a single IP address or at least not as easily.
I have always taken great care to be independent of the bare metal hosting provider, so moving all my services from a bare metal server from one data center provider in Finland to another data center provider in France was pretty trivial and could be done with almost no downtime.
Current Status
So, long story short, I currently use the following setup for redundancy reasons:
- 1 server in a data center in Paris, my main server with several IP addresses
- 1 server at my home in Cologne (Intel NUC based) for running services
- 1 server at my home in Cologne as a central backup machine (Intel NUC based), based on rsync and Borg backup
- 1 server in Paris (Intel NUC based), mostly as a backup server
- 1 virtual machine in a data center in Germany to act as a STUN/TURN server for voice and video calls.
- For testing, I can use any of my own servers, or virtual machines in data centers in Finland, Germany and France. Spinning one up just take a minute or two.
So what Does It Cost?
Yes, this is quite a bit of a setup and has cost some money over the years. A NUCs with everything included cost around 500 euros and I’ve bought four of them over the years. Three of them are still in operation, the oldest one for 7 years now. It has an i3-7100U CPU inside and I expect to run it for many years to come. So 500 euros per NUC over 10 years is like 5 euros a month, times 4, so the hardware costs around €20 a month. Servers need power, and as the load is relatively low, each NUC requires around 10W, That’s 40W or 40W * 24 h = 1 kWh per day, i.e. around 365 kWh per year which is around €130 a year or 10 euros a month. And finally, that bare metal server in the data center costs me €40 a month, including power. One more thing that has to be added to the monthly costs are the domain registrations and Email costs, the only service I don’t host on my own. That might be another €10 per month.
So in total, that’s around €80 a month. That sounds like a lot of money, but this sum can be divided by two, as at least two people use it. Also, we don’t need any online office, online storage and other subscriptions of Hyperscalers, which would also not be cheap, as we are talking about 10 TB of data that we push back and forth between our devices and which need to be backed up over the network. Also, Hyperscalers would only offer a fraction of the services I have deployed today, so it’s hard to compare. And beyond this, my setup is not optimized for price, it’s optimized for privacy, confidentiality, redundancy, reliability and for learning new things! You don’t get any of these things from Hyperscalers, either.