← All Posts

Building a Homelab Server Rack

Homelab

For a long time my entire network stack lived spread across a desk — a tangle of Pi's, a switch, and a firewall all wired together with whatever cable was closest. It worked, but it wasn't portable, it wasn't clean, and every time I wanted to make a change I was untangling cables first. I finally got tired of it and decided to consolidate everything into a proper 10" mini rack: something compact, plug-and-play, and easy to pick up and move if I relocate.

Here's a look at the before, the after, and the parts that got me there.

After

Finished rack build — title shot

Before

Old desk rack setup

The original stack: a Target bathroom shelf doing double duty as a server rack, a Netgear switch, a Netgate 1100 firewall, an OptiPlex running Ubuntu for IDS/SIEM work, and a PoE injector for the Unifi AP. Functional, but not exactly something I'd want to pack up and move.

Close-up of new rack build

Hardware

Compute & Network Core

Raspberry Pi 5 (x2)Amazon
Running Jellyfin and my self-hosted Matrix homeserver.

Raspberry Pi 5

Ubiquiti Cloud Gateway Max (UCG-Max)Amazon
I wanted dual WAN support, and honestly I've just come to really appreciate how simple the UniFi ecosystem makes network management.

Ubiquiti Cloud Gateway Max

Ubiquiti UniFi Switch Lite 8 PoEAmazon
Picked for its compact footprint and PoE output, which powers both my access point and one of the Pis.

UniFi Switch Lite 8 PoE

Ubiquiti U6+ Access PointAmazon
Solid performer. If I did it again, I'd probably go with a model that has dedicated WiFi 6 bands and a wall-mount option instead of ceiling-mount — but overall I have no complaints about performance.

Ubiquiti U6+ Access Point

Monitoring & Power

7.84" Touchscreen Rack DisplayAmazon
A touchscreen panel sized perfectly for the rack, used for at-a-glance monitoring.

Rack-mounted touchscreen display

Rack PDUAmazon

Rack PDU

Anker SOLIX Portable Power StationAmazon
At roughly 65W draw for the entire stack, this gives me about 8 hours of runtime with near-instant failover, which is more than enough to ride out a short outage without anything dropping.

Anker SOLIX Portable Power Station

Cooling

Front Intake FanAmazon
Pulls cool air in from the front of the rack.

Front intake fan

Top Exhaust FanAmazon
Mounted under the top plate to push hot air up and out, completing the front-to-top airflow path.

Top exhaust fan

Vented/Non-Vented Panel Coverslink 1 | link 2
Used to help direct airflow up and out of the rack.

Vented panel cover Patch panel — full view

Mounts & Accessories

PoE HAT for Raspberry PiAmazon

Raspberry Pi PoE HAT

10" Rack EnclosureAmazon
Picked for the 10" form factor — small enough to be portable, large enough to fit everything I needed.

Finished rack build

Switch Rack MountAmazon

Switch rack mount

UCG-Max Rack MountAmazon
The UCG-Max runs warm with Suricata IPS enabled, so I specifically wanted a mount with a built-in fan to help keep temps down.

UCG-Max rack mount with fan

Raspberry Pi Rack MountAmazon
Plays nicely with the PoE HATs.

Raspberry Pi rack mount

Patch Panels

Full-Size Patch PanelAmazon
Compact Patch PanelAmazon

I went with two patch panels — a full-size one on the front and a smaller one on the back — connected internally with a short 1ft Ethernet run. Routing everything in from the front and then back out again through a single panel was a pain, so this setup means I never have to touch the internal wiring again. Anything plugged into the back patch panel goes straight to the switch.

Full-size patch panel Compact rear patch panel Rear cabling — new rack

Software Stack

Monitoring runs entirely off one of the Raspberry Pi 5s:

Grafana dashboard on rack display

Overall, this was a fun upgrade from "stuff on a desk" to something self-contained, monitored, and movable. If you have questions on cabling, mounts, or the monitoring stack, feel free to reach out.