Starting a Homelab

2025-03-07

About a year ago, I set out to build a local environment to run some of my side projects on my home network without relying on cloud services. Cloud providers like Amazon Web Services introduce network latency and can be cumbersome and expensive—especially for projects that involve running local AI models or storing large datasets. While the cloud is excellent for corporate-scale projects, it’s not always practical for those without corporate-scale budgets. I decided that creating a dedicated server was the best solution for my needs.

Requirements

I identified several must-have features and a few nice-to-haves:

Must-Haves

  • A large amount of storage for data and media archival
  • Easy access to data across my home network
  • RAID configuration to account for disk failure
  • Support for multiple Docker containers to run local projects

Nice-to-Haves

  • VFIO passthrough support for running local LLMs
  • Minimal server maintenance

Software Options

After extensive research, I narrowed my options down to three primary solutions.

Linux Server Distro

I initially considered running a standard Linux server distribution, but after some deliberation, I decided against it. While this approach would offer maximum flexibility and customization, it would also require more maintenance than I wanted. I preferred a system with built-in quality-of-life features tailored for home lab users rather than one that required me to manually configure everything from scratch.

Proxmox Virtual Environment

Proxmox is an impressive piece of software, and I really wanted to make it work.

Proxmox Virtual Environment (PVE) is an open-source, enterprise-grade hypervisor with built-in containerization features. It supports VFIO GPU passthrough and provides an ideal sandbox environment for deploying Kubernetes clusters, running local LLMs, and testing workloads that I would typically deploy to AWS.

However, Proxmox is designed as production-ready software, meaning it carries the complexity of an enterprise solution. In my attempts to configure it, I quickly learned how finicky VFIO passthrough can be on non-enterprise hardware. If you’re considering Proxmox for your homelab, I highly recommend using enterprise-grade components. Getting my consumer-grade GPU to cooperate with a VM was an incredibly frustrating experience that I wouldn’t wish on anyone.

Another downside was that using PVE as my primary server software would have required running additional NAS software within a VM to handle data storage. While this setup is common among homelab enthusiasts, I found it too cumbersome and risky given my limited data redundancy.

TrueNAS or Unraid

After months of experimentation, I narrowed my choices down to two options: TrueNAS and Unraid.

TrueNAS has a lot going for it. It caters well to home server users, supports ZFS and various other file systems, and—best of all—is free and open-source. I strongly considered using TrueNAS, but after some testing, I found that while it’s an excellent NAS solution, running Docker containers was far from seamless. Many of my planned software deployments would have required bypassing the UI, which was not ideal.

Unraid, on the other hand, turned out to be exactly what I needed. It has been running on my homelab ever since.

Unraid allows me to manage dozens of Docker containers through an intuitive UI. Configuration is simple yet powerful, and data management is optimized for home users.

By default, Unraid uses the XFS file system for data storage, which offers several advantages for home users. It minimizes disk reads to only the drives being accessed, reducing wear and power usage. Unraid also supports one or two parity drives for data integrity, though, as always, multiple backups are essential. XFS works well for home media and photo backups, while Unraid also supports Btrfs for cache drives—a great option for running Docker containers and reducing disk wear.

The Downside of Unraid

No solution is perfect, and Unraid does have its drawbacks. Unlike TrueNAS, Unraid is paid software. When I purchased my license, a perpetual license with lifetime software updates costed $79, making it a great value. Unfortunately, today’s pricing is significantly higher: a similar license now costs $250, and a cheaper license only includes software updates for a single year. This is disappointing for new users.

That said, I still believe Unraid is an excellent choice for homelabs. Even at its current price point, the time savings from reduced maintenance make it well worth the investment.