When I built a new gaming rig in 2016, I installed UnRAID on my old machine - just to check it out. 6+ years later, I have a 42U server rack in the basement. From networking to self-hosted services, there’s a lot going on there. I wish I had kept better track of how it evolved to where it is now, but here’s the rough timeline:

  • May 2016: Built new gaming desktop, installed UnRAID on the old one
  • April 2017: Bought a house, UnRAID server in garage Loft
  • August 2018: Built new home server + converted old desktop to backup host
  • May 2020: Built a plywood server rack
  • March 2021: Installed cameras, ran some CAT6, built a camera server
  • June 2021: Bought 42U rack, built an OPNSense router, deployed APs

Essential homelab kit: paper towels, PVC fittings, and bicycle inner tubes
First COVID project: Plywood Server Rack

It started with one computer that I played with to learn about linux and self hosting. Somewhat modest, but it was a HomeLab. It’s hard to put my finger on exactly when this happened, but we’re far from the definition of a lab at this point. This is my HomeProd.

Rack and Hardware

The chassis dust is a stylistic decision
  • Rack: StarTech 42U Open Frame

After outgrowing the plywood server rack I built, I decided to pull the trigger on a 42U. I had the vertical space for it, and it was only $50 more than the 25U, so it made sense to me. It’s my first proper server rack, so I can’t really compare it to others, but I have no complaints with it.

The rackmount chassis are sitting on shelf-style rails - I just didn’t want to bother with the slides, and these have worked just fine. There are a couple other shelves on this rack for stuff that isn’t rack-mountable. I wouldn’t mind some sort of 3D Printed adapter to get things like my Hue Hub off the shelf.

Networking

I’m switching up the pace in this post and shelving any patch-work jokes in favor of Archer references
  • Main Switch: Unifi Switch 24 PoE
  • Satelite Switches: Unifi Switch Flex Mini
  • Access Points: Unifi Access Point Wifi 6 Lite
  • Patch Panel: Cable Matters 24 Port Keystone

I’m running an OPNSense box for routing and firewall, but for switches and APs I went with Unifi. I don’t have a strong background in networking, and Unifi seemed like the best route based on what I knew at the time. The 24 port PoE switch has worked well for me. Assigning ports to VLANs was simple enough, things just work.

I replaced all the other switches in my house with Unifi Flex Minis. At $30 a pop, these are Layer 2 switches (which means VLAN port assignments), and can be powered by PoE. I expected there to be a catch when these came in, but it’s pretty much as described. They’re managed under the Unifi controller with the rest of the Unifi infrastructure, which is convenient. I’m pleased with them.

For wireless, I was able to snag a few AP6 lites when they were first available. The performance has been mostly good, though I have had issues with intermittent availability. These issues have only seemed to happen while Christmas lights are up in my house, which makes me think it might be related to some wifi smart plugs, but we’ll see.

The patch panel performance is mind-blowing - so many gigabytes. I decided on keystone over punchdown because it’ll be easier to move things around as my network continues to grow, which it already has faster than I thought it would. I tried to keep some sort of color scheme with the keystones, but started to run out of colors. I didn’t put any labels on the panel itself, but (most of) the lines coming in from around the house are labeled.

Power

Yes, and I need every single watt!

This rack is on a shared power circuit, but not much else uses it. There’s a sub-panel immediately on the other side of this wall that I’d like to branch an independent circuit off of in the future.

The on-rack power distribution game also needs a little bit of work. All of the servers are plugged into a single desktop grade UPS, which provides enough coverage to keep everything online during a brief power outage, which fortunately doesn’t happen often where I live.

Servers

There’s a mainframe joke I really want to make here…

I currently have 4 servers living in this rack, all of which I built. To call anything on this rack a necessity would be ignorant, but it does all get put to use. There’s definitely some overbuild going on here - it’s been fun and I’m quite proud of it.

Tunt Server: Router/Firewall

YOU’RE NOT MY SUPERVISOR!!!
  • OS: OPNSense
  • CPU: Intel i5-3470T
  • MoBo: Intel DQ77MK
  • RAM: 8GB DDR3
  • Chassis: Cheap Rosewill 4U Server Chassis (model unknown)
  • Drives:
    • 1 x Samsung 860 EVO - 256GB

Everything in this build was purchased used. Power draw is fairly low, and it didn’t cost me much. Running OPNSense, this build has been rock solid - a recent long-overdue system upgrade was the first downtime since it was put in service over a year ago.

Poovey Server: Surveillance

Sploosh!
  • OS: Windows 10 Pro
  • CPU: Intel i7-10700K
  • MoBo: Asus B460-PLUS
  • RAM: 32GB DDR4
  • NIC: Intel EXPI9301CTBLK*
  • Chassis: iStarUSA D407P-4DE1BK 4U Rackmount
  • Drives:
    • 1 x Samsung 870 EVO - 512GB
    • 1 x WD Purple - 4TB

With my first kid on the way, having eyes on the property became a priority for me. I went with BlueIris as my NVR because I already had experience with it, but I’ve been keeping an eye on Frigate lately. I actually like BlueIris, but I would very much like to ditch Windows entirely.

This build accompanied the initial deployment of 4 4K POE cameras, with plans for several more at a later date. I had considered trying to run this as a VM off my main server, but with that many cameras feeding at that resolution, I was concerned about resource usage (especially without Quick Sync).

Network congestion was also a concern. I wanted the traffic between the cameras and this server to not pass through the main switch/router. I originally planned to have a separate physical network switch for the cameras, with this server attached via a secondary NIC, but I couldn’t figure out how to make Windows play nicely with this configuration. All the cameras were thrown on the main VLAN, firewalled so they can only talk to the server, and connected directly to the main switch. I haven’t had any issues with this setup, but I plan to revisit the idea soon.

Figgis Server: Backups

Just backin’ it
  • OS: Debian
  • CPU: Intel i5-3570K
  • MoBo: Gigabyte GA-Z77X
  • RAM: 8GB DDR3
  • Case: Antec Nine Hundred Desktop
  • Drives:
    • 1 x Samsung 860 EVO - 512GB
    • 1 x WD Red - 10TB (SnapRaid Parity)
    • 4 x WD Red - 4TB

I built this rig in the summer of 2012 - it was my first desktop and the first computer I ever built. In 2016, after 4 years of being my daily driver, I built a new gaming rig and this became my first home server. In 2018 I built a new home server, and this became my local backup host. In January 2023, after 10.5 years of nearly continuous uptime, it’s still going. While it was my main server I added several data drives, but otherwise it’s all original parts. 2 of the 4 RAM sticks have died, the drives are aging, and the power consumption is less than ideal. I love this rig, but I think 2023 will be it’s last year in service.

Krieger Server: The Main Server

Your authority is not recognized
  • OS: Debian
  • CPU: 2 x Intel Xeon E5-2680 V2
  • MoBo: ASRock EP2C602-4L
  • RAM: 32GB DDR3
  • SAS Controller: M1015
  • Case: Norco 4224 4U Rackmount
  • Disks:
    • 7 x WD Red 10TB
    • 1 x Samsung 870 EVO 2TB
    • 1 x Samsung 870 EVO 1TB

This is the big one - this is where I started getting serious about my home server game. When I was putting together the parts list for this, power was reasonably affordable - 20 cores for all the Plex transcodes was going to be sick! (and it was). This was also built with primarily used parts, which kept the price reasonable.

After running UnRAID for a couple years, I started over by following Alex Kretzschmar’s Perfect Media Server - 2017 guide, and it’s been excellent. I rebuilt the server again during the summer of 2022 and Ansiblised the entire system (something I plan to do for my other servers this year).

I run almost everything I can with Docker. Looking through my compose file, some of the services I’m running:

  • Traefik
  • Unifi Controller
  • Jellyfin
  • Nextcloud
  • BabyBuddy
  • Vaultwarden
  • PaperlessNGX
  • Grocy
  • Wallabag
  • Calibre
  • Gitea
  • Drone
  • Minecraft Server
  • Home Assistant
  • NodeRed
  • ZwaveJS
  • Mosquitto

This is where I’ve always dropped haphazard docker-compose snippets when I want to try something new. I recently realized that I’m not the only one using (and relying) on some of these services, thus making it a priority to start keeping things stable. I have since offloaded all testing to my new hackerspace/test server, officially making this my HomeProd.

End

It’s funny to think about how a few hours playing with UnRAID 6 years ago started all of this. I can’t wait to see where it is in another 6 years.