tl;dr: Proxmox or bare metal? Containers yes/no? What is your use case?
I used a Dell R710 when I first started self-hosting, it ran ESXi with one VM for each service I wanted. Restarting the server required me to first shutdown each VM in order and then the whole host. When setting up a new service to host I had to create a new VM (allocate RAM, disk etc), install the OS (I ran Debian) and then follow instructions for how to setup the service. This mostly was not a problem but one software I never managed to get working was Apache Guacamole.
Nowadays I have a Dell Optiplex I salvaged for parts, got a new case and all my HDDs from my R710. Because it has much less RAM and an old Intel i5 (6th or 7th generation), I decided to get into Docker. With Docker containers you write your compose file and it will just work. No more need to dig through documentation for which version of a dependency to use, how to handle if two services on the same host need different versions (this was part of the reason for one VM/service). With Docker, I can try out a software in seconds and have it configured to my liking in minutes.
Today I have NixOS (bare metal) and it comes with Podman which uses systemd. Hence restarting my OS (albeit not that often, almost never unless I mess up my config) is a no-brainer because Podman via systemd will manage everything. Adding, stopping or removing containers in general is easy. I have a script running as a service which will stop a container, create a BTRFS subvolume snapshot, start the service again and start borg backup to backup from the snapshot.
For me using Proxmox would just an extra layer of complexity I don’t need. I only have one server and I am the only user.
Questions:
- Do you use Proxmox instead of a bare metal installation?
- Do you use containers or do you install manually?
- What is you use case that requires your setup the way it is?


I use a different ‘type 1’ hypervisor, create a small handful of VMs and then have a mess of containers inside containers in a couple of those. There’s a distinct VM for email since that has so many special requirements that it was just easier, one lxc/incus container host for admin tools, one for user apps, one for piefed because all these fediverse apps are so busy with the constant exchanges it kind of needs its own host to not affect others…
Why is more a case of ease of administration frankly. Pretty much everything gets auto patched and backed up and it’s easy to put up a new service or restore things if I hose something up.
The structure though has been a years long evolution that started out as ‘I just want a NAS to share files’ which then needed a frontend to make it more user friendly, and another app to play videos, and why not organize different file types rather than just dump em in a folder…