For a home server environment (“homelab”), I currently have two main servers: TrueNAS doing strictly storage, and a Proxmox server for apps. This setup has been working great for several years now. Prior to that I had a single Linux server doing everything, managed all from the CLI. I moved to the two-system model so I could have a more “appliance”-type experience, and not have to spend so much time with system care and feeding.
Note that my Proxmox system isn’t running any VMs, only LXC containers.
I’ve recently discovered Jailmaker for TrueNAS Scale, and it feels like a game-changer for me in that I’m thinking I can once again have a single server that does it all. (When I was previously doing it all by hand, I was actually using systemd-nspawn to partition (“containerize”) all the services/apps.)
So my main question: is there any reason I might not want to ditch Proxmox in favor of TrueNAS Scale as a combined storage+container server? I understand there is some ideological argument here in that TrueNAS is meant to be more of an “appliance”, and using nspawn jails arguably breaks away from that model.
I know the next TNS release (Electric Eel) is dropping k8s in favor of Docker. But if I understand correctly, these Docker containers (at least initially) won’t be able to have a virtual interface and DHCP-assigned IP (that is distinct to the TNS host). That’s a requirement for me, so I’ll likely stick with Jailmaker/nspawn containers for the added flexibility (even for Docker-native apps (e.g. Frigate), I’ll likely use an nspawn jail).
I see also that jlmkr.py will soon be in need of a new maintainer. That doesn’t scare me too much, as I think I could self-maintain that script for myself.
Having thought about this a bit, my biggest concern is that iX decides to kill the ability to do nspawn jails entirely (i.e. making jlmkr.py (or its equivalent) useless). IOW, what if they deem Docker to be sufficient, and better aligned to the appliance-model of TNS? Or what if there are too many stability issues from people doing wacky things in an nspawn jail?
(Another option is to virtualize TrueNAS under Proxmox; I really don’t want to go down this road. In my case, I feel storage is the most core/critical application, so it should be closest to the hardware. I view containers/apps essentially as a “function” of the storage, so they can exist one or more layers removed from the hardware.)
Another argument against this is the risk of system stability - if I do something unwise in an nspawn jail, it could in theory compromise the host. This is a risk I’m pretty comfortable with - it was the model I used for years before the current system split model; I have good backups; and this system isn’t critical to my life or livelihood.
Am I missing anything? Any thing else I should consider before consolidating these systems?