Homelab Beginnings
- Published on
- Reading time
- Page views
- 10 reads
[None of the links in this article are affiliate links. I have no affiliation with any of the companies or products mentioned.]
So finally I got around to writing my second article for my blog. It took me way longer than I would have liked but hey better late than never, right?! I have been thinking about what to write for a while now, and I decided to write about my journey towards crafting a homelab. I have been fascinated by the idea of having a homelab for a while now, and I finally took the plunge a few months ago. I have been slowly building it up, and I am excited to share my experiences with you.
My introduction to the world of homelabs and self-hosting was an interesting one. One morning, while having breakfast and watching YouTube as usual, I stumbled upon a video by Jeff Geerling about setting up a Raspberry Pi. That video opened the door to the world of single-board computers and their possibilities. I was amazed by what these tiny computers could do. The first thing I wanted to try was setting up an ad-blocker, like Pi-hole. Soon enough, my mind was buzzing with ideas of what I could self-host with simple hardware that I can keep in a corner at home. My primary goal became setting up self-hosted cloud storage, which would eventually allow me to stop relying on Google Drive and similar cloud storage services.
As you might have predicted, this led me to look into NAS (Network Attached Storage) devices, since a Raspberry Pi is not ideal for that purpose. I came across off-the-shelf NAS devices from companies like Synology and QNAP, but I found them quite expensive for the hardware they offered. I also wanted something more powerful in terms of CPU and RAM because I planned to run additional services in my homelab. Plus, I wanted the flexibility to upgrade the hardware later on.
This research naturally led me to Mini PCs. Finding the perfect one was a challenge— I had to consider factors like CPU, RAM, storage, upgradability, and, of course, the price. After a few weeks of searching, I was intrigued by some models from Beelink, particularly the Beelink S12 Pro and the Beelink EQ12. Both had a good balance of price and performance, but I was still on the fence due to concerns about future upgradability.
After more digging, I finally found the solution that I was looking for: refurbished tiny/mini/micro form factor PCs. These are usually ex-corporate machines that can be found on eBay or similar sites. They’re affordable, powerful, and easily upgradable. I finally settled on a refurbished HP EliteDesk 800 G4 Mini PC with an Intel Core i5-8500T, 16GB of RAM, and a 1TB NVMe SSD. I got it for a great price and could not have been happier with my purchase. It also has an extra M.2 slot and a 2.5" drive bay for future storage upgrades if necessary. Here is a quick glimpse of my unit:
On the software side of things, I chose Proxmox as my hypervisor. I’d heard a lot of good things about it, and I’m confident it’s the right choice for my needs. As I mentioned, one of my main goals with this homelab is self-hosting my data, so I needed reliable storage. Although it's not ideal for zfs, which I plan to use as the file system in my Proxmox setup, I went with a USB 3.0 external hard drive enclosure with 4 bays (Fantec QB-35US3-6G) and 3 x 4TB Seagate IronWolf Pro HDD. This is how it looks in the corner of my room:
My reasoning is that I don’t need the fastest storage for my use case and am okay with the potential downtime that might result from using a USB 3.0 connection. To safeguard my data, I use a RAIDZ1 setup for my zfs file system. This allows me to survive 1 disk failure out of my 3 HDDs. But RAID is actually not backup, it just provides you with resiliency in case of disk failure. So for actual backup of my important data I use restic to remotely send backups via SFTP to a Hetzner Storage Box. A very important reminder: always follow the 3-2-1 backup strategy to keep your data safe.
I guess that’s enough for today! I have a lot of plans for my homelab and I’m excited to see where this journey takes me. I will be writing more about my setup and the services I am hosting in the future, so stay tuned for more updates. Until next time! 👋