As the title states, how would you set it up? I’ve got an HP EliteDesk G5, what are the strengths and weaknesses of either:
- ProxMox with one VM running TrueNAS and another VM running Nextcloud
- TrueNAS on bare metal with Nextcloud running in docker
- Some other setup
I’d like to be able to easily expand and backup the storage available to Nextcloud as needed and I’d also like the ability to add additional VMs/containers/services as needed
If you go with TrueNAS, you’re stuck with TrueNAS/Docker. If you go ProxMox, you can theoretically do…anything. But of course that comes with some added complexity.
There are things proxmox definitely can’t do, but chances are even if you know what they are, they probably still don’t apply to your workflows.
Most things are a tradeoff between extensibility and convenience. The next layer down is what I do, Debian with containerd + qemu-kvm +custom containers/vms, automated by hand in a bunch of bash functions. I found proxmox’s upgrade process to be a little on the scuffed side and I didn’t like the way that it handled domain timeouts. It seemed kind of inexcusable how long it would take to shut down sometimes, which is a real problem in a power event with a UPS. I also didn’t like that updates to proxmox core would clobber a lot of things under the hood you might configure by hand.
The main thing is just to think about what you want to do with it, and whether you value the learning that comes with working under the hood at various tiers. My setup before this was proxmox 6.0, and I arguably was doing just as much on that before as I am now. All I really have to show for going a level deeper is a better understanding of how things actually function and a skillset to apply at work. I will say though, my backups are a lot smaller now that I’m only backing up scripts, dockerfiles, and specific persistent data. Knowing exactly how everything works lets you be a lot more agile with backup and recovery confidence.
Good point, I like the ability to choose between VMs and containers. If I had TrueNAS in one VM and Nextcloud in another, how would you link Nextcloud to TrueNAS? SMB share?
Nfs
Honestly I haven’t used Proxmox, but I assume they can share storage without having to set it up like a network drive? If not, SMB would work.
Proxmox uses scsi for disk images, which are single access only
Smb would be quite a lot of overhead, and it doesn’t natively support linux filesystem permissions. You’ll also run into issues with any older programs that rely on file locks to operate. nfs would be a much more appropriate choice. That said, apparmor in container images will usually prevent you from mounting remote nfs shares without jumping through hoops (that are in your way for a reason). You’ll be limited to doing that with virtual machines only, no openvz/containerd.
Fun fact, it was literally the problems of sharing media storage between multiple workflows that got me to stop using virtual machines in proxmox and start building custom docker containers instead.
You can do the NFS mount in the VM and share it as a volume with the docker container.
Apparmor will complain and block the nfs mount unless you disable apparmor for the container. Then in a lot of cases the container won’t be able to stop itself properly. At least that was my experience.