Conclusion after 5 months of TrueNAS after I migrated from Unraid
In 2019, I started my apprenticeship as a Software Engineer. At that time, I dumped all my data onto a 4TB HDD in my main PC at home. This became tedious after I had to organize my files somehow in the file structure and filled the disk completely with data. I decided that I need to do something about this...
Introducing: Unraid
I knew that I needed an easy to use system that would accommodate my data. It needed to be reachable 24/7 for me to access the data when I'm traveling. A friend in vocational school introduced me to Unraid because they were planing to use it too. I knew that this would be a much better tool for my data storage so I decided to start a trial license, bought 3 used HDDs (yikes) and some used PC hardware from Ricardo.
Not only Storage?
After a few months of running this system and making continuous improvements to it (adding SSDs, configuring VPNs, ...) I started experimenting with the Apps. There is a community maintained catalogue which offers thousands of apps that you can start with very little to no effort. Naturally, I started downloading tons of apps from it and configured them step by step on my system. File Explorer as a website? Sure! A private Satisfactory Server? You bet.
Thanks to the awesome selfhosted list, I found new and interesting applications on a daily basis that I immediately tired out on my system. A big help were also r/homelab and r/selfhosted.
At some point, I started running 20+ apps continuously 24/7 and configured reverse proxies and tunnels to access them remotely without exposing them. Since I gained experience during this period as a Software Engineer, my interests in applications also shifted and I wanted to try out more niche applications & products that weren't in the community provided catalogue. Hence I created my own catalogue items and applied for adding them officially to the list in Unraid.
This enabled me to not only add new things to the Unraid system, but also share it with the community.
Headache with Unraid
So why did I even bother to migrate? A key reason was the rather clunky Apps system on Unraid. It uses Docker under the hood. Once you configured them, they will automatically start up sequentially on startup - this led to 30+ minutes startup times. If you accidentally misconfigured an App (aka. container), it would remove it permanently and you would loose your configuration.
This caused much frustration on my side and led me to loose my patience with Unraid. I started doing backups more frequently but the whole system still felt so incredibly fragile and broken. To be fair, the Apps are entirely made by the community and I do not want to blame them for the problems I had.
Additionally, I also had performance issues with the cache SSD and almost lost my data once, because it is not protected by parity (this may have changed in 7.0?). When I moved to a new apartment in the end of 2023, I decided to finally rebuild my server from the ground up and migrated to TrueNAS.
Why TrueNAS?
TrueNAS seemed to be a really stable and semi-professional option for storage. I first learned about it via LTT videos but slowly understood more and more about it. It offered much better data protection and built in backups. It's UI seemed better polished. Although I was a bit scared by the migration process & Kubernetes, I decided to go ahead and migrate to TrueNAS Scale.
The migration process
At this point I added even more disks to Unraid since I was running out of storage. The total amount of data was approx. 16TB. At this time, I didn't have any big enough disk to copy all data over to it temporarily.
Instead, I rented a Hetzner Storage Box and started uploading a full file-level snapshot of all of my data. This took ages - over a week to be exact. Upload speed was inconsistent due to small files & bad throughput (10-30MB/s).
After this was done, I bought some new hardware for the new system, flashes a TrueNAS Scale image onto a SSD and started configuring it. I added my disks to a RAIDZ3 and restored my data again from the Storage Box. Then I added TrueCharts to my system and added my apps step by step. Some apps weren't available in the catalogue, so I used the custom-app instead which accepts an image name.
Conclusion
So was this worth the hassle? After I spent 5 months figuring out what I need to do, I would say yes - but maybe not for everyone.
- The general experience is better and more stable. The UI is built more consistent and less confusing.
- The level of entry is much higher. The documentation does help a lot but some concepts are completely different compared to Unraid.
- The addition and removal of drives is much harder. You're much more restricted than in Unraid and will have to comply with the many ZFS limitations. The performance of these pools is great as soon as they work - but don't expect mutations in the pools to be easy
- The catalog of apps on TrueNAS is smaller and you'll definetly need TrueCharts for most apps. As the time of writing, TrueCharts also deprecated their TrueNAS catalogue and iX Systems is currently developing support for docker compose.
- TrueNAS isn't as configurable as Unraid. This is a good and bad thing. In Unraid, I often needed additional third party plugins to configure features that should likely be included in Unraid itself - but this also made Unraid feel fragile and often broke.
- Startup is much faster but since TrueNAS Scale currently uses Kubernetes, stopping or creating new pods does take a considerable amount of time.
- For many basic things I neeed to use heavyscript or the console (eg. reading namespace events)
- Running apps only with Docker image is possible and relatively easy. However, the image updates will not be displayed and you'll have to delete the image, stop the app and start it again
Next steps
So what's next? I'll probably stick with TrueNAS and will wait for their docker compose support. Since TrueCharts has terminated development of the charts for TrueNAS, I also expect some things to break until then. I will also be building an own Kubernetes cluster on my own - stay tuned.