Is TrueNas Scale the right OS for my home server? I'd love your advice

Current setup

I’ve been running Proxmox for the last year and a quarter, with the following VMs and containers:

  • Ubuntu Server (docker containers)
  • Pihole (DNS & DHCP)
  • Home Assistant
  • Motioneye
  • CheckMK
  • Windows 10 (for fiddling with random stuff, mostly switched off)

The docker containers were:

  • Plex
  • various discord bots and other coding projects
  • Elasticsearch
  • Kibana
  • MakeMKV
  • Handbrake

I have a USB blu-ray drive that I pass-through to the MakeMKV docker container.

I have a GPU that I pass through to the Plex docker container for hardware transcoding.

The Problems

I’ve had issues running pihole for DHCP so am going to move that to a separate machine. Essentially if the server went offline I couldn’t access it to bring it back online over the Proxmox network interface. Local DNS will be sufficient for me so long as my router allows me to assign static IPs, which my current one does.

Nesting my Docker containers within Ubuntu is unnecessarily complicating some of my processes, I’d rather be able to run them natively from within the hypervisor.

Sharing storage and getting proper backups has been problematic. My server crashed recently and while my Proxmox backups to a raspberry pi meant I could bring my VMs and containers back up, a lot of additional reconfiguration was required, especially where my single drive zfs storage was concerned. This has been such a big problem that I’ve taken a copy of all my important files (including plex media) on my windows pc in case I lost access to the zfs drive in my server.

Moving Forward

I’ve bought a second identical drive to my main 6TB storage drive, so that I can have a raid setup meaning if one drive dies the data is safe on the other. This means the server will have an SSD for booting and a pair of 6TB HDDs in raid for storing plex media etc and to act as a NAS.

I’m looking at a variety of other OSs that I can replace Proxmox with and so far TrueNas Scale seems promising as it works with Plex, supports docker containers natively and allows virtual machines too. It’s still in beta though, so I’d have to have a really good backup system. Any advice you can provide for an alternative OS would be great.

In terms of backups, I’m keen to still do nightly backups of my config, containers and VMs. I’d also like to get some kind of raid setup (maybe using zfs?) to ensure if a drive dies there’s still another working one.

On top of this, while I do use Dropbox for documents on my pc and laptop, I don’t have a cloud backup setup just yet for my server. I’ve had a brief look at backblaze but for my 6TB drive it’d be hundreds of dollars per year, which is a tough pill to swallow.

I’m also planning to set up a remote backup at a family member’s house using a raspberry pi and an external USB HDD.

Any advice or suggestions would be very gratefully received, if I’m rebuilding the whole setup I’d like to do it right if I can, and I’m really keen to avoid any potential data loss after the recent scare.

This is a mantra, but an important one: RAID is not a backup !

The idea to setup backup at a relatives house is far better than any RAID could be. I would focus on this first.

As for my personal opinion I run a headless server with KVM-Server installed. I can spin up virtual machines on any client that has KVM-Client software installed and SSH access to the server. But to be honest I am currently more interested to test different Kubernetes configurations, so this might not be what you prefer.

rclone might be a nice option for performing backups either local or synchronizing offsite. I’ve had good success with it.

For me, I’m in a similar boat it sounds like (Pi, few servers, etc.). I mostly run Ubuntu as the base OS and then Docker and docker-compose for all the services and things I need. I’ve thought about ProxMox but I’m not sure what benefit it would provide. For the next Ubuntu LTS release in April, I’ve started preparing some scripts with Ansible to make it easier to perform a fresh install and get all my scripts and services back up and running.