Planning and building out a home lab can be an incredibly exciting project, but it can also come at a cost. Classified websites are a goldmine for used enterprise hardware, enabling anyone to pick up Intel Xeon-powered rack servers at a steep discount. While these do provide playgrounds to tinker, I'm guilty of buying a few myself. They're great for running various services and apps until you glance at the monthly utility bill statement. That's usually when the migration to mini PCs and custom systems takes place.

So, instead of running a few rack servers, drawing around 100W or so each, I decided to see how far we could go with a single AMD Ryzen Threadripper. Specifically, the 9970X, since this has a better idle power draw than its vastly more powerful sibling, the impressive Threadripper 9980X. The 9970X still packs a punch with 32 cores, full PCIe 5.0 support (and plenty of lanes), and epic headroom for countless containers and virtual machines through Proxmox.

Instead of relying on multiple systems to provide ample computing prowess for running everything from home, the goal is to build a single Threadripper-powered workstation that doubles up as a foundation for VMs, development, testing, and more to be completed on, using Proxmox as the glue to bind everything together.

AMD Threadripper 9970X
Cores
32
Threads
64
Architecture
Zen 5
Process
TSMC 4nm FinFET
Socket
sTR5
Base Clock Speed
4 GHz

Choosing the right parts

Creating the ultimate home lab server

Joining the Threadripper 9970X is 128GB of ECC RAM to handle all the services and apps we'll launch through Proxmox. An Nvidia GeForce RTX 4060 Ti is present to handle transcoding and the storing of a large language model (LLM). Asus created an impressive platform with the Pro WS TRX50-SAGE WIFI. This is an absolute unit of a motherboard. I'm talking 10GbE networking, beefy power delivery for the chip, active VRM cooling, plenty of expansion slots, IPMI support, and epic performance.

To handle all this heat, a 360mm AIO kit from Silverstone will be used to keep temperatures in check, though I don't expect to have too many issues here since even the Threadripper 9980X was found to idle at around 20 °C delta. Air cooling could almost certainly be used here, especially since I won't be hitting the chip with intensive video editing or other workstation tasks. It's all about self-hosting through Proxmox, which won't tax the system too hard.

Taking advantage of PCIe 5.0 storage, the impressively capable Lexar NM1090 Pro will be used with transfer speeds of up to 14,000 MB/s, perfect for running a few virtualized and sandboxed instances. This drive will be complemented by an external TrueNAS system with a few Seagate Red NAS drives spinning away, providing a means to offload storage needs for Jellyfin, Immich, and other software. To power everything is an ADATA XPG 1300W Platinum PSU.

But what would one use to contain all this hardware? Should everything go well, it's certainly possible to use an empty 3U or 4U chassis to install everything and have the system inside the server cabinet. But for now, I'll be using the be quiet! Light Base 600, which provides plenty of internal space and cooling options. It's a good test bench to see how everything runs. Depending on how things progress, I may require an additional GPU, so it's good to keep as much free space available as possible.

Setting up Proxmox

Couldn't be easier on Threadripper

If you have yet to deploy Proxmox and play around with the hypervisor, it's so simple to set up and use that it's almost funny. Whether you're on AMD or Intel, using a desktop chip, mini PC, or enterprise hardware, the entire process from booting a USB to running your hypervisor takes just a few minutes. The same goes for Threadripper and the TX50 platform. Everything is supported out of the box, thanks to Proxmox's Debian underpinnings.

Before starting, the UEFI was flashed to ensure I'm running the latest firmware from AMD and Asus. Checks were made to ensure AMD-V was enabled and Secure Boot was disabled. PCIe 5.0 was loaded in, and PBO and ECO were adjusted accordingly. The end result was a Threadripper 9970X with all its bells and whistles available but without running too wild on power draw through the performance curve. Once Proxmox was installed and running, it was time to set everything up.

The best part about using Proxmox to run everything within your home lab is the ability to create snapshots and backups of each and every container and VM. These can be used for restoration should something go wrong, but they can also be used to migrate all your services and software between systems. Even if your Proxmox servers aren't part of a cluster, copying backups between systems can ensure you have copies available elsewhere, and that's how I'm moving from the old racks.

Even with Jellyfin transcoding, Immich backing up and cataloging, and an LLM running within Open WebUI, the server utilized around 25% of the 64 available vCPUs.

A quick list of the initial wave of home lab software moved to the new Threadripper system includes Jellyfin, Immich, Ghostfolio, Mealie, Open WebUI, Gitea, CouchDB, and Home Assistant OS. Even with Jellyfin transcoding, Immich backing up and cataloging, and an LLM running within Open WebUI, the server utilized around 25% of the 64 available vCPUs and had approximately 30% of its RAM allocated. This leaves plenty of headroom for adding much more to the single system.

The rack servers weren't fully saturated, but they had dedicated tasks and weren't part of a Proxmox cluster. It's something I may look to return to and see if this would provide better returns, with not all of them needing to run continuously, making better use of available processing power. The issue is that not all of them are identical, rocking different CPU SKUs. Using multiple nodes can provide better redundancy with multiple points of failure, but this only occurs if software is present across all nodes.

Out with the old

And in with the more efficient

It's great having multiple rack servers running away inside a cabinet. Having your own home-based data center of sorts is quite the feat and provides immense satisfaction when everything comes together. Running a home lab and tinkering with enterprise hardware is an incredibly rewarding hobby. Threadripper could be considered overkill for home lab deployments, but if you opt for the less expensive chips, such as the 9970X or 9960X, you can create quite the server environment.

Some things I learned from running Proxmox on the Threadripper 9000 platform include ensuring ECC memory is used for maximum stability, prioritizing NVMe SSD storage for VMs and LXCs, and regular backups to ensure nothing is lost when running more software on a single system. While it's difficult to overload the 9000 Threadripper CPUs, it's still vital to carefully plan out resource allocation per instance, more so for RAM than cores.

And while Threadripper CPUs can boost high and draw a fair amount of power, they can still save you in the long run compared to running multiple systems. Mini PCs may be a viable alternative, but if you want something slightly more inviting for the inner tinkerer, you could do much worse than a modern Threadripper build. You don't even have to go for the latest generation of chips, with 3000 and some 7000 series SKUs hitting classified sites at a discount.

It all boils down to what you intend to use the platform for. Sure, modern consumer-grade CPUs from Intel Core Ultra and AMD Ryzen families can run Proxmox just fine, and you should have a great time, but when it comes to ECC, increased bandwidth, and better performance for virtualization, you simply can't beat Threadripper. EPYC is king, but it's also ridiculously expensive and generally out of scope for the home lab.