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?
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.
Truenas scale running a helm packages of Nextcloud.
K8S is the future.
As much as I dislike being locked into the “ecosystem” of truecharts, you’re absolutely right that its the future.
You don’t actually have to learn either of them to get the system working
They actually did a really good job of making it user-friendly
From the brief research I just did, this does seem like a good direction to take. However I’m doing a lot of learning right now and I’m trying to stick with just one or two technologies at a time and adding in Kubernetes and Helm is a little beyond me right now.
You actually don’t need to learn either of them, they did a really good job of making the system user-friendly
Nobody should run k8s/k3s without understanding how they work lol, that’s a recipe for lost data.
How so?
As long as you set the app storage to the array, all you need to do is look after the backups on the array and it all works beautifully.
That’s something you should do anyways
Docker ftw
Maybe you could install nextcloud in docker on a separate VM (I use Debian) and then mount a Truenas network share in docker.
Trying to use TrueNAS for anything but a file share is not going to work well in terms of flexablity
That’s where I’m at now. Same kind of issue as OP. Wanting more out of my bare metal!
Proxmox VMs shouldn’t have much of a performance penalty compared to bare metal. (Assuming you have virtualization and similar extensions enabled)
I have TrueNAS Scale running inside of ProxMox, but I plan to replace it with a Turnkey system on top of an LXC instead.
For as convenient as TrueNAS is, it is not a replacement for ProxMox. ProxMox is designed for business, and it shows in comparison. The logical layout, the backup options, the storage flexibility, etc.
In comparison, TrueNAS feels more homelab hobby. For reference, I could see ProxMox on a business install with enterprise support. TrueNAS, I’m not so sure.
well, there are many things to consider. TrueNAS’s ZFS is memory hungry, and is best used on it’s original BSD. Also, you may need SMART directly in your NAS, then you’ll need to PCI passthrough the disk controller if you are on proxmox. With that said, either directly running TrueNAS Scale or TrueNAS Core on proxmox isn’t ideal. Also, running database storage over NFS has great disadvantages, so I would really advice against going proxmox+truenas route.
IMO, a mature NAS system is only useful as it is designed to be: bare metal system for your disk management. If you really wanna ZFS, then use TrueNAS Scale. If you are a guru and can or are willing to setup things yourself and doesn’t care about RAID5/6, just use regular linux + docker/podman + btrfs.
If they really want just ZFS, Proxmox offers it.
It just doesn’t come with a built-in UI
well, it actually has a UI for managing ZFS volumes in proxmox lol. proxmox is very versatile I’ll admit. I use it also, but because I absolutely need the vm capability to run opnsense and debian on the same machine. If OP only needs a NAS with docker, he may not need that power. well who am I to decide. this is selfhosted so people can just try anything.
Yeah, fair, there is a UI, but it’s veeery basic, not at all comparable with TrueNAS
I’ve been running TrueNAS core for years. I used to have my applications in Jails on TrueNAS. If you just want to start out learning I think using SCALE and keeping your apps within TrueNAS is a good way to go.
I believe SCALE uses docker for its apps so that should make it easy to migrate your data in the future if you pick another platform.
None, because Proxmox is questionable open-source with annoyances and a mangled system that fails often. TrueNAS Scale is overkill and buggy, not even a simple WG container they can get right. Install it all barebones on Debian 12, setup Samba for shares, FileBrowser for a WebUI, ZFS or whatever filesystem with the appropriate tools and if you need some kind of isolation use LXC/LXD that are now both available from Debian repositories without Snaps.
WG comes to mind, totally broken because someone decided to hardcode eth0 as interface name and modern systems use biosdevname.