The Ultimate Homelab : Virtualizing TrueNAS Scale on Proxmox
If you are running a homelab, you have likely faced the classic dilemma: do I dedicate my hardware to a hypervisor like Proxmox for its flexibility, or to a storage OS like TrueNAS for its data integrity? The answer, for many of us in 2025, is both.
By virtualizing TrueNAS Scale inside Proxmox, you get the best of both worlds: a robust, enterprise-grade ZFS storage array and a flexible playground for your VMs and LXC containers. In this guide, I will walk through how to set this up correctly—specifically focusing on passing through your hard drives so ZFS can do its job properly—and dive into why TrueNAS Scale "Electric Eel" has become the undisputed king of homelab apps.
Chapter 1: The "Right" Way to Pass Through HDDs (HBA vs. Disk Passthrough)
The most critical part of virtualizing TrueNAS is storage access. ZFS is designed to talk directly to the hardware. It needs to see the physical geometry of the drives to manage smart data, handle errors, and perform caching effectively.
There are two ways to give a VM access to drives, but only one is recommended for a serious ZFS setup.
The "Okay" Way: Individual Disk Passthrough
You can pass individual physical disks to the VM via Proxmox configuration (using qm set).
- Pros: Easy if you only have onboard SATA ports and no separate controller card.
- Cons: TrueNAS might see them as QEMU virtual drives. You often lose S.M.A.R.T. data reporting and full error handling control.
The "Best" Way: PCIe HBA Passthrough
This is the gold standard. Instead of passing individual drives, you pass the entire Storage Controller (HBA) to the VM. This involves installing an LSI/Broadcom HBA card (like an LSI 9207-8i or 9300-8i) in IT Mode and connecting your drives to it.
How to set it up in Proxmox:
- Enable IOMMU: In your Proxmox node's BIOS, enable "VT-d" (Intel) or "IOMMU" (AMD).
- Update GRUB: Edit
/etc/default/grubon your Proxmox host and addintel_iommu=onoramd_iommu=onto theGRUB_CMDLINE_LINUX_DEFAULTline. Runupdate-gruband reboot. - Add the Device:
- Go to your TrueNAS VM > Hardware > Add > PCI Device.
- Select your HBA controller (it will often be listed as "LSI" or "Broadcom").
- Check the "All Functions" box to ensure the entire card is passed through.
Once you boot TrueNAS, it won't "know" it's virtualized regarding storage. It sees the HBA card as local hardware and has full, uninhibited access to every drive attached to it. This allows ZFS to scrub data, monitor drive health, and handle failures exactly as intended.
Chapter 2: TrueNAS Scale "Electric Eel" & The Docker Revolution
For years, TrueNAS Scale used a Kubernetes (k3s) backend for its applications. While powerful, it was often resource-heavy and complex for simple homelab deployments. With the release of 24.10 "Electric Eel", TrueNAS fundamentally shifted its application backend to Docker Compose.
Why this matters for you:
- Native Docker Ecosystem: You are no longer fighting against a complex orchestration layer. Apps now run as standard Docker containers, which makes them lighter, faster to boot, and much easier to debug.
- Simplicity: If you are familiar with Docker Compose files, you are now native to TrueNAS. You can bring your own stacks easily or use the built-in catalog.
- Migration: The transition preserves your data, but the underlying engine is now the industry standard that most homelabbers prefer.
This change has transformed TrueNAS Scale from a "NAS that can run apps" into a "Server that happens to be a NAS." The overhead is lower, meaning you can run more services like Plex, Nextcloud, and Home Assistant on the same hardware without the heavy tax of Kubernetes.
Chapter 3: Enterprise Features for the Homelab
One of the main reasons to use TrueNAS Scale over a simple Linux box with SAMBA is the access to enterprise features that are surprisingly easy to configure.
Replication Tasks
This is the killer feature for data safety. TrueNAS allows you to set up automated Replication Tasks. You can take snapshots of your datasets every 15 minutes, hour, or day, and replicate them to:
- Another TrueNAS box (if you have a backup server).
- A different pool on the same system (e.g., backing up fast NVMe app data to slow spinning rust).
- Cloud storage providers (via Cloud Sync credentials).
If you accidentally delete a file or get hit by ransomware, you can simply roll back the dataset to a snapshot from an hour ago.
RAIDZ Expansion
A long-awaited feature that recently matured is RAIDZ Expansion. Historically, once you built a ZFS vdev with 4 drives, you were stuck with 4 drives unless you replaced them all or added a whole new vdev. Now, you can expand an existing RAIDZ vdev one disk at a time, making it much more budget-friendly for consumers who buy hard drives one by one rather than in batches of ten.
Apps Catalog & Convenience
The Apps Catalog in TrueNAS Scale acts like an "App Store" for your server. With the Docker backend, this catalog is snappier and more robust. You can search for "Jellyfin," click install, and have a media server running in seconds with appropriate storage permissions mapped automatically. It removes the friction of managing ports, volumes, and update tags manually, making it the ultimate "convenience" platform for spinning up services quickly.
Conclusion
By virtualizing TrueNAS Scale on Proxmox with proper HBA passthrough, you build a foundation that is rock-solid. You get the raw data integrity of ZFS managing your physical disks, while retaining the agility of Proxmox for everything else. With the shift to Docker in the Electric Eel release, TrueNAS Scale has cemented itself not just as a storage appliance, but as the premier application platform for the modern homelab.
For years, virtualizing TrueNAS was considered a homelab 'cardinal sin'—but with modern hardware, the game has changed. Are you still strictly Team Bare Metal, or has this guide convinced you to join Team Virtualized? Drop a comment below and tell me why I’m wrong (or right) 😉