Table of Contents
Introduction:
Hello everyone, and welcome in today's article, I will be going over the software I'm planning to run on my all-in-one home NAS server. If you missed the previous article where I broke down all the hardware choices for this build - if you are interested you can find a link to that article here: https:\\addictedtotech.net/my-all-in-one-nas-hardware-parts-selection/.
At the bottom of this page you'll find links to all the specific hardware components I've selected for this server build. Full disclosure: those are affiliate links. They won't cost you a penny extra, but I might earn a small commission if you use them. It's a huge help in supporting our work, so a massive thank you to anyone who does!
Alright, with that out of the way, let's get straight into it.
Rather watch the YouTube Video?. Here it is:
My Software Plan:

The Base Operating System: Proxmox VE
When it came to the software side of this server, I wanted to start from scratch. And what better place to begin than with the base operating system? My goal was a hypervisor – something that would let me spin up virtual machines and containers on the fly. Since I was coming from a mini PC server that ran Proxmox flawlessly, it was a no-brainer. Proxmox was my first choice right from the start.

NAS & File Server: TrueNas, Unraid, Or Mergefs & SnapRaid?
Next up, I needed a NAS file server to house my drives with some form of redundancy.
TrueNas:
My initial thought was TrueNAS. But as I dug deeper into ZFS and its significant upfront hardware requirements, it quickly became clear it was completely off-plan. .

For my relatively small amount of critical personal data, ZFS's advanced features like bit rot protection and file hashing, while next-level, were simply overkill.
MergeFS & SnapRAID:
So, it was back to the drawing board. I then considered MergeFS. This open-source filesystem seemed promising, letting me pool multiple storage drives into single folders. Redundancy was still a must, and that's where SnapRAID came in, ticking that box for me.

However, since I am storing some critical data like my photos, videos, and documents, I wanted more granular control. While MergeFS combined with SnapRAID could be a fantastic option for a pure media server, I felt I needed something more robust for my needs.
The biggest hurdle I found was the sheer amount of manual management involved. Sure, OpenMediaVault offers plugins for GUI management, but I was after ultimate simplicity for my NAS, so I ruled this combo out.

Unraid:
This was the moment I seriously started looking at Unraid. Now,

I usually prefer open-source solutions and tend to avoid paid software, but Unraid just ticked every single box. It's regularly updated, supports Docker apps, plugins, and virtualization, and handles both NFS and SMB folder shares – all through a sleek GUI.

But the absolute best part is how Unraid sets up its array, especially when combined with the XFS filesystem, it allows you add drives to your pool as you need them.

You just need one drive to start, plus a larger drive for parity. This was a perfect fit for my needs.
Unraid's licensing fees seemed reasonable, and they even offer a 30-day trial (which you can extend by 15 days, twice, for an extra 30 days!). I'll be showing you exactly how to get that extra trial time in a future article/video, so keep an eye out!

In my case, I actually needed that extended trial because I experienced several bugs that I needed to iron out. So that 60-day grace period was a lifesaver, giving me ample time to sort out the problems and get the system stable before committing to the license.

Honestly, that's incredibly fair and reasonable from Unraid. I will be covering the problems I experienced and how I fixed them in later videos so be sure to keep an eye out for that.
So, Unraid was my final choice for the NAS operating system.
Why a Hypervisor? Isn’t Unraid Enough?
So at this point you may be wondering - if I am going to be using Unraid and Unraid has docker and virtualization baked in. Why would I bother using Proxmox as the host OS?
The simple answer is better isolation and control over my virtual machines and hardware.

While Unraid does have virtualization, it's not as polished or optimized as what you get from a more established hypervisor like Proxmox. I also want to run certain systems completely independent of Unraid. Separating configurations and hardware for different purposes just offered all the benefits I was looking for.
Now, this setup did introduce a few challenges, which I'll be diving into in detail in upcoming articles/videos.
Dedicated Docker Server: More Isolation, More Control
My next plan was to run a separate server specifically for my Docker containers. Again, you might ask, "Why? Unraid has Docker app support!" And you'd be absolutely right. But, just like with the hypervisor, I wanted to isolate and separate my Unraid server. Its primary role is my NAS file server, and that's its core purpose. I'll still use some Docker containers on Unraid, mainly for file and backup tasks like Immich and Syncthing, and maybe Nextcloud down the line.

But for my more "adventurous" container projects, I wanted an environment isolated from my critical services on Unraid. Plus, I have a much better understanding of Ubuntu as a server OS and Linux in general, which makes administration much easier for me. And as a bonus, I get full control over the VM, its hardware resources, and its filesystem.
Putting It All Together: File Sharing and Remote Access
I needed to tie everything together. Since the main storage pool resides on Unraid, I enabled NFS. This allows remote access to the share across my network, meaning my other VMs and devices can easily access the Unraid array.

I'll be showing you how to mount these NFS folders and make them available at boot in a future articles/videos, so definitely stay tuned for that!
Secure Remote Access with Tailscale and MagicDNS:
So, finally, I needed to connect to the server from outside my home. This was crucial for accessing things like my Immich server, file syncing, and backups. My main priority here was security first. That meant absolutely no punching holes in my firewall or forwarding ports, even though I've done that successfully in the past. And I wasn't interested in solutions like Cloudflare tunnels. That's why I chose Tailscale.

I personally use Tailscale to securely connect my home lab, remote servers, and even mobile devices. What I love about it is how it creates that mesh VPN, where all my devices talk directly and securely, and because it's powered by WireGuard, the end-to-end encryption ensures nobody else, not even Tailscale's relay servers, can see my data. The relay (coordination) servers are just there to help connections if devices can't talk directly, but they literally can't decrypt or see your personal information.

And the best part? Tailscale offers a Personal Plan that gives you up to 3 users and up to 100 devices, which is incredibly generous for a home lab setup like mine.

Plus, I really like using MagicDNS to access my servers both inside and outside my home network. It's so much easier to remember a server name than an IP address, and that's a great feature.
Whether I'm accessing my Proxmox dashboard from my laptop or pulling files from my NAS while on the go, Tailscale makes it seamless and secure. Seriously, no more wrestling with firewall rules, dynamic DNS, or complex VPN configs – it just works.
As an aside Tailscale also allows you to set an end point on a device within your home network which you can turn on and off on the fly within the app. Which once its activated can act like a commercial VPN solution to hide and secure your data while you use public WIFI connections. Tailscale is just great I can't recommend it enough.
Conclusion:
If you've been following along with this youtube series, you now know all my reasons for building this all-in-one NAS server, plus the specific hardware and software I've chosen and why.
In the next article/video, we'll get hands-on! I'll walk you through a full step-by-step installation build, showing you how to put the entire system together from scratch and get it ready for its very first boot.
I really hope you're enjoying these videos. I'll keep sharing my home lab journey in the hope it helps or inspires you to start your own.
Oh, and if you're interested, I've started a Discord channel! It's in the early stages, but I've set it up for you to share your home lab journeys, get help, or just chat with like-minded people. I'm hoping to run some competitions and giveaways there in the future, so feel free to join its free.

So all that's left is to say thank you all for time, and I'll see you in the next one!


0 Comments