Adventures in Homelabbing, Pt. 1
Back in 2022, I picked up homelabbing as a hobby, in part to find something to do with the influx of parts caused by my other new hobby (PC building). Now that I’ve run it for a couple years and changed out most of the hardware once, I thought it might be worthwhile to share my experience with others.
This is a many-faceted topic and its difficult to start by talking about a particular device or app I run. Instead, I’ve decided to start with a timeline. Most of the decisions I’ve made are based on my situation at a given point in time, and it’s important to have the context around those decisions to really understand them. I’ll dig into the particulars in follow up posts.
Anatomy of a Homelab
In order for me to describe what’s in my homelab, we first need to establish some taxonomy. In my view, a homelab is a superset of a home networking setup:
A modem, for getting internet from your ISP into your home.
A router, for connecting devices in your network.
One or more switches for connecting devices to the router.
One or more Wireless Access Points or WAPs for connecting wireless devices.
A Network Attached Storage or NAS for storing files.
One or more servers for running applications.
While home networking is arguably a separate field, it’s inextricably tied to homelabbing as access to your lab will be through that network.
The Before Times (2018-2020)
When I first moved to an apartment in Chicago, I only had a modem, router, and WAP. These were simply the necessary components for accessing the internet. This should look pretty standard to most people, but in some ways was foundational to what came after and so bears mentioning.
Modem: Arris Surfboard SB6183
Router: Ubiquiti EdgeRouterX
WAP: Ubiquiti Unifi AP AC Lite
The coax wall connection from my ISP was in a closet, so I just stuffed the router and WAP in there too.
On principle, I have never used ISP-issued hardware, nor have I ever used a combo modem/router or router/WAP. Generally speaking, purpose built devices will always perform better than combo ones.
![2018-2020 layout](/assets/images/2024-06-16-adventures-in-homelabbing-pt-1/layout1.png)
Just a Home, Not a Lab (2020-2022)
In 2020, I moved into a different apartment (not great timing. . .). As part of that move I also changed ISPs and got a Gigabit(!) internet plan.
Modem: Arris Surfboard SB8200 (a gigabit-capable modem for my shiny new plan)
Router: Ubiquiti EdgeRouterX
Switch: 2 TP-Link TL-SG105 (5 port) and 1 TL-SG108 (8 port) gigabit switches
WAP: Ubiquiti Unifi AP AC Lite
The modem was in the bedroom, and I ran an ethernet cable from there out to the main room where the router and WAP lived on an end table. I then set up switches at each of the main “connection points” in the apartment (my work area, my fiance’s work area, and the TV console). All the devices in those areas would then have a wired connection via the switch.
This was also where the first inklings of a homelab began. I wanted to run Plex Media Server so that I could watch video content on my TV without needing to pull out discs and hook up a Bluray player (read: Playstation). I initially did this from an old repurposed Windows laptop, which worked well but was quite loud when put under load and the power brick had awful coil whine.
My next solution was to buy a refurbished 2014 Mac Mini from OWC along with a couple miniStacks. This works quite well and was visually attractive, but the machine was woefully underpowered and after a couple years of OS updates it became unable to run Firefox, Plex Media Server, and Finder at the same time.
![2020-2022 layout](/assets/images/2024-06-16-adventures-in-homelabbing-pt-1/layout2.png)
Homelab “v1” (2022-2024)
In 2022, between the performance issues and spare PC parts mentioned earlier, I finally had the motivation I needed to build a “real” homelab. I repurposed my old gaming PC to act as a combined NAS and server and ran unRAID on it. Suffice to say, it was substantially more capable than the Mac Mini.
Also that year, I grew dissatisfied with Github and Gitlab for personal project hosting and decided I wanted something of my own. I pulled the CPU from an even older gaming PC and put it in an ASRock Deskmini x110, put Ubuntu LTS on it, and have used it to run Gitea ever since. I kept both it and my unRAID machine in my office area.
And thus, my actual homelab was born:
Modem: Arris Surfboard SB8200
Router: Ubiquiti EdgeRouterX
Switch: 2 TP-Link TL-SG105 (5 port) and 1 TL-SG108 (8 port) gigabit switches
WAP: Ubiquiti Unifi AP AC Lite
NAS: DIY unRAID machine
Server: DIY unRAID machine / DeskMini
That’s not too bad! I was still using the same $55 router and $80 WAP I bought 6 years prior and most of my equipment was repurposed in some fashion. This is where things really took off. Between my unRAID machine and my DeskMini, I ran Gitea, Wiki.js, Bar Assistant, Plex, Jellyfin, Navidrome, and ytdl-sub.
![2022-2024 layout](/assets/images/2024-06-16-adventures-in-homelabbing-pt-1/layout3.png)
Homelab “v2” (2024-present)
In 2024 I moved again, and with that came another round of changes.
Modem: Arris Surfboard SB8200
Router: DIY OPNSense machine
Switch: 1 cheap 2.5Gb PoE switch from, er, NICGIGA, 3 TL-SG108 (8 port) gigabit switches
WAP: 2 EnGenius EWS276-FIT in a mesh network with the EnGenius FIT Controller
NAS: DIY unRAID machine (rebuilt with new hardware)
Server: DIY unRAID machine / DeskMini
The primary catalyst for this was the inability for my Unifi WAP to punch through the walls in my new home. With the EnGenius WAPs I finally got on wifi 6e and, more importantly, a mesh network that can actually cover the new layout.
The new WAPs are, like my Unifi one before them, PoE (Power over Ethernet) devices - however, unlike in my previous home there aren’t convenient end tables to store them and PoE adapters on. I needed a proper PoE-capable switch. A ton of cheap 2.5Gb switches have started coming onto the market over the last couple years and I picked the cheapest one that also had an SFP+ uplink (for reasons I’ll get into if and when I dig into my router).
Since I was changing out the rest of my home networking setup, I decided it was also time to retire my EdgeRouterX and go with a DIY OPNSense router. There were a number of reasons for this, but the biggest one is to give me a fresh start with more control and community resources with which to more actively “own” and administer my home network.
The modem lives in the bedroom (again - has never been my preference but ISPs decide this, not me). I run a long ethernet cable from that to the router in the living room, as it’s a nice central location. I run a SFP+ fiber optic cable from the router to the PoE switch. The WAPs and FitController use 3 of the 4 ports on that switch, with the remaining one used to fan out to an 8 port gigabit switch. From that, I run cables back to my office, my fiance’s office, and the various devices in the living room, including the unRAID machine and DeskMini. Again, both offices have their own switch to which the devices in those rooms connect.
![2024-present layout](/assets/images/2024-06-16-adventures-in-homelabbing-pt-1/layout4.png)
What has worked
Overall, my home network/homelab experiences have been really positive. The only hardware that really let me down was the Mac Mini, which was mainly due to the limitations of its fixed 4GB RAM (and perhaps its anemic CPU). From a software perspective, unRAID has been easy enough to get started with (though if I were starting over today I might look more closely at TrueNAS Scale), and the various open source apps I run have been extremely stable.
There’s been a shocking amount of “it just works” between getting network storage, running docker containers, and adding new devices and components to the mix.
What hasn’t worked
The economics. Most of the servers I’ve built have been with repurposed parts scavenged from other old builds; that said, doing things with purpose-built components gets expensive quickly. The hard drives in my NAS, for example, range between $200-$260 each (when you can find them), and my new WAPs were about $100 each.
It’s important to keep some perspective on this. On the one hand, these are objectively reasonable prices for the quality of what I bought, and it’s certainly more economical to spend more for the higher quality thing that will last longer. On the other hand, I’ve spent several hundred on something I don’t strictly need. It’s important to go into homelabbing with a plan of what you’re getting now and how you plan to evolve over time.
The other cost from homelabbing is of course in my energy bill - I now have several always-on components drawing power. Out of laziness (and perhaps a desire to not know the truth) I haven’t explicitly measured the energy draw of my homelab, but it’s safe to assume that I’ve materially added to my overall utility spend.
I say this “hasn’t worked” not because my homelab is driving me to destitution, but more because I see a lot of media content around the hobby that emphasizes the value and cost savings vs, say, cloud storage. I’d caution anyone looking at building out their own homelab trying to save a buck - it absolutely can be cheaper, but the upfront costs can be high and it’ll take years for the unit economics to really start paying off.