“What hardware do you need to selfhost?”, it’s a question I got asked by an interested friend. There are a lot of considerations when choosing hardware to selfhost your services. In this blogpost, I want to share my story, what hardware I got and the price of buying and running the hardware. It is by no means a complete guide in choosing hardware and you might make different choices in your situation, but this is what I did.
Let me share you my story and how my hardware evolved with my situation. I will include the costs and running costs at every stage in the process and what software I was using at the time. The users of my hardware were mostly me and my girlfriend, so keep that in mind while reading this.
Back in 2015 I started selfhosting. I was still in university doing my bachelor in software engineering. I needed to buy a Raspberry Pi for a school project and the second edition of this little creditcard sized computer was just out, so I bought that.
After the project was done, I started out with this Raspberry pi as a server. I had a class 10 micro SD card of 8GB lying around that I used, together with a 32GB USB stick for storage. Although it may not sound like a lot, it is plenty for a lot of different applications.
I learned about docker during this time, so I installed that and the applications that I hosted at that point were:
- Pi-Hole: A network-wide DNS ad-blocker
- OpenVPN: An open source VPN server, so I could use Pi-Hole everywhere I go
- Subsonic: An ex-open source music streaming service
I had some CD’s lying around that I ripped and put on the USB drive, gotta love those nice high-quality FLAC files. <3 I could stream them with Subsonic, which was open source at the time. Pi-Hole made sure most ads were blocked on all my devices and it was all accessible through the VPN.
Really, the Raspberry Pi was quite capable in running these services at decent speeds. It was not groundbreakingly fast, but it was usuable. The total costs for the Raspberry Pi was lot for me, since there were educational discounts at the university. Running costs for the Raspberry Pi are also very cheap. When idling, it uses only around 1.2 watt, which is less then a very efficient LED bulb. You could run this puppy for 24/7 without really noticing it in your powerbill.
|€25,- (educational discount rate)
|32GB USB Stick
|Micro SD Card
|Free (used a spare one)
Running cost: Negligible
My girlfriend and I got our first apartment in the ‘big city’ (really it’s not that big, but I am a smalltown village boy). With the additional space and an additional user in my house, the requirements for selfhosting grew. Still studying, the amount of files to manage grew and I still did not have any backups. My girlfriend’s laptop just died and a lot of data was lost, including hours of work for school and some photos. I manage to rescue some photos from the laptop’s hard drive, but a lesson was learned.
There are two kind of people on this earth: People that have never lost any data and people that have backups.
I was now in the second group of people…
Not having a lot of cash on hand (poor students…), I bought a second hand NAS with four 2 TB drives. It was a QNAP TS-451U, similar to this unit. It was a rather loud unit, but the 8TB raw storage was more then enough for our use cases and with RAID 5, if one drive failed on me, there still would not be any data lost. Awesome!
This NAS did not support virtualization and therefore did not have Docker. So I was at the mercy of what was available in the QNAP App Store. At this time I discovered Plex and although it’s music capabilities were not as good as that of Subsonic, the addition of streaming movies and series was a welcome one, so I switched to that.
The QNAP only hosted a few services:
- Samba: For file sharing while on the network
- Plex: Media server for movies, series and music
The NAS including the drives costs me €200,-. The unit was too loud for my taste, so I switched out the fans with more silent Noctua ones. Those costs me around €15 at the time. I monitored the temperature and it seemed fine with those (although the system was rarely under heavy load). It was a steal; new it would’ve cost me probably around €600,- or even more to get a similar grade machine!
In hindsight, the capabilities of the thing were barely used. I simply handled the backups manually by copying and pasting the files and Plex read the files I put on there manually. It was all very primitive in comparison on where I stand now. Even worse: the thing drew around 40W of power while idling, more then 30X more then the Raspberry Pi! Running this thing 24/7 with a price of €0,40 per kilowatt, will costs me around €140,- every single year. Certainly not cheap and many cloud services would be cheaper, but I had a place to put my files as a back-up.
|Second hand NAS
|New Noctua Fans
Running cost: ~€11,50 per month
The NAS was doing pretty good, but the running costs were pretty high and the amount of space the thing required was becoming more and more problematic. I started working and sometimes remotely, so we needed a new desk with a monitor, keyboard and mouse and the only place we could use was occupied by the NAS. Needless to say, that thing had to go.
I had a little more money to spare, since I started working and therefore other things became more important. I wanted a quieter machine that was more compact and had a cheaper electricity bill. At the time, I choose a Synology NAS, the DS216Play to be specific, an older variant of the one linked. I also bought two new disks for them, WD Red 3TB drives, which was plenty of storage at the time.
It was quite a capable machine for home use: it supported 2 disks, one for redundancy and the Synology operating system is very user friendly and powerful. The machine used a lot less power then the QNAP unit: around 14W while idling; less then half of the QNAP and only costs me around €50,- per year, the thing will pay for itself over time. It probably was not as powerful as the QNAP unit, but that thing was circling with it’s thumbs all the time.
The services it ran at the time were:
- Synology Office: Simple office suite for in browser editing of files
- Synology Drive: A Google drive alternative, which works in a similar way.
- Samba & NFS
- Plex: Media server
Fun fact: This NAS is still running in it’s original configuration. I still use it for personal files like family photos and videos, and important documents. The thing has only be turned off 5 or 6 times for general maintenance and moving, so it’s uptime is really good for home usage.
Running cost: ~€4,20 per month
At this time me and my girlfriend have finished our study. We were working full-time and moved out of the apartment to buy a real house. It was a lot bigger and space was not as much of a concern as it was in the past few years. We finally had decent internet speeds (200 mbit/s up and down!), which opened up more possibilities for selfhosting. It was also at this time I started getting a little bit more concerned with my online privacy and started degoogling. The amount of services I was selfhosting greatly increased during this time and I still am looking for ways to improve (and share) how I selfhost.
Some friends started to notice what I was doing and wanted a piece of the cake as well. This was possible because of the faster internet, but it also meant my poor little Synology NAS was not powerful enough to host it all, especially the RAM usage was a big bottleneck. At this time, I was also worried that the additional load might bring my personal files in danger, so I wanted to have a separate server for the ‘applications’ and a separate server for storage. My old Synology NAS would serve as our personal data storage.
I saw an ad for a second hand NAS, again a Synology, which had 8 drive bays and was quite a bit more powerful: the Synology DS1815+, which has since be replaced by the DS1821+. It’s a more prosumer grade NAS with some nice features, like link aggregation for additional networkspeed, more RAM and a more advanced CPU, which allowed me to run Docker containers. The price was not cheap: €750,- with four WD Red 3TB drives, quite a sum of money. But I enjoyed the simplicity of my other Synology NAS and the additional room for expansion was a welcome one.
This was also the first time that I really got into networking and I needed a new switch. TP-Link had just released their new Omada manageable switches, so I bought one of those: the TP-Link TL-SG2210P V3. Was it overkill? Yes. Did I want to play with SDN’s? Yes. Did I really need it? No… But it’s my hobby and I like it, so don’t judge me :)
The switch connected the two NAS units together and switched it to the Nvidia Shield, as well as my computer and the routers. It was all getting serious at this point, and the amount of services I run now, was quite substantial:
- BookStack: Personal wiki in the style of a bookshelf.
- Jellyfin: Open Source Media server I was evaluating during this time
- Tautulli: Plex monitoring tool
- Ombi: Request manager/tool for media for my friends and girlfriend
- HomeAssistant: Used for home automation and a little bit for server monitoring
- Scrutiny: A hard drive monitoring tool
- Vaultwarden: A self hosted bitwarden instance
- Samba & NFS
- Synology Office
- Synology Drive
The DS1815+ was more powerful and had more storage, sure, but it also consumed more power. This was not a big of a deal for me, since I got solar panels on the roof now, which provides free electricity at the moment (that will change in the future, but that’s a topic for another day). The power usage with 8 disks is approximately 60 Watt. The old NAS was still running and together they consumed approximately 75W. The bill for these two servers together will therefore be around €260,-.
|Second hand NAS with drives
Total Running cost: ~€22,- per month
Everything was running pretty well, but more and more friends started using my services and the DS1815+, although a lot more powerful then the previous NAS, still struggled. I bought one final upgrade in the form of a little Intel NUC with a 10th gen i3 processor and a simple Kinston M.2 ssd with 240GB. I still had some RAM laying around, so I used that. All in all it had costs me around €425,-.
This NUC would be running Plex and HomeAssistant and not much more, so that’s why I choose the more lower-end i3 processor. The upside of the lower-end hardware, is that the idle power consumption is quite low with approximately 10W usage.
All in All: it’s a quite modest Homelab and more then enough for me, a few friends and family members.
Total Running cost: ~€25,- per month
Some hard drives are getting old now: the oldest one is approaching 7 years of service now and one drive has a few bad sectors. It’s not really shocking yet, but I know that they can break down at any time now. The next drives will probably still be hard drives, due to the cheap price and the few problems I had with them in the past. I might use SSD’s for my personal NAS in the future, because the data on there is a little more sensitive and SSD’s, especially enterprise grade SSD’s, tend to be more reliable then hard drives.
The next thing I want to buy is an UPS, or uninterruptible power supply. This protects devices from power surges and allows the devices to keep running, even if the power drops out. It protects the devices and all the data on it.
The other upgrades are in the form of networking: I only have one access point in the house, which is not enough for this house. In the garden I don’t have any internet at all. I plan to buy several more access points. This one from TP-Link grab my attention right now, since I already have a switch which I can manage with Omada SDN. I am thinking of getting 3 access points that can be managed with Omada as well. I like the software and the switch and it’s a little bit cheaper then the Ubiquity stuff.
Another thing I want to invest in is a dust and water resistant server rack. I am now using Ikea Lack tables glued on top of each other. It works.. Fine. The servers are currently stored in a separate room in the basement, but it is quite dusty there and because it is below the ground, I am a little afraid for heavy rain or something, so I need a better solution then cheap repurposed Ikea furniture.
If you have more ideas for upgrade, let me know in the comments below :)
My self hosting journey has not been particularly cheap, if you look at the money I’ve poured into this. The reality is that it has provided me with more things then just a few self hosted services. It has provided me learning experiences, it has given me a hands-on experience with hardware, it has saved me money on SaaS subscriptions, it has provided fun for me and it has given me control over the data. That, makes it all worth it.
You might have seen that I have bought two server second hand. Although I had some luck with it and still use one, you should definitely read up on the hardware before you buy. Check if the hardware is still provided with updates, has decent support for modern peripherals, like hard drives and check the power consumption. Modern hardware is becoming a lot more power efficient, so the running cost alone can make it worthwhile to buy new. If you are buying hard drives second, you should also check the S.M.A.R.T. data. Check for running times, start stop count and for bad sectors before buying!
Well, that’s it for this blogpost. I hope you enjoy reading about my hardware through the years. Let me know if I should do a follow up or more in depth look into one thing.