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 have a mix…
I have a home built NAS running on Arch with local installation of Immich (ie not a container)
I also have a low power, passively cooed box with Proxmox installed to run VMs for Home Assistant, ansible, uptime kuma, smokeping, etc.
I only intended to run Proxmox to test it out (my Home Assistant was running on a Pi3 and getting too slow for Voice), as I’d been using ESXi for years at work.
I now want to migrate to Arch with Incus and move those VMs across, but as I currently only have the 1 host and hardware’s expensive, it’ll stay that way for a while…
(Bonus: I have a few RasPi Zeros scattered around the house too running various things bare metal)
I use both. The main benefit of proxmox is having VM snapshots/daily backups, if you mess up, just restore the whole thing. You also have stricter isolation, e.g. put public facing containers in one VM and local only stuff in another.
Also has high availability if you have multiple nodes but that can be achieved with container orchestration as well.
@captcha_incorrect Currently I’m running my personal services similar to you using Podman Quadlets and I really like it.
I have also a testing installation of Proxmox on another system, but I’m also not so clear, if it would be a good way for my purposes.I like Proxmox for it’s first-class treatment of ZFS. You can easily run Docker/Podman on top of it or in a VM. Proxmox has some other advantages like replication and clustering, but I’d say you don’t need that in a home setup (at least I don’t).
If I had to redo my setup today, I’d probably give TrueNAS SCALE a chance though.
I used to run bare metal monolith container host and it worked pretty well but eventually network configurations started tripping over each other and causing real issues (complicated by me running rootless Podman and wanting to run K3s cluster etc). I wanted to run Proxmox native containers but it turns out they run full root therefore breakout in one container means full host access, so now I run VMs as container hosts.
because sometimes i need a vm (home assisstant has more features thsn home assisstant container), sometimes a container (i mostly use lxc).
its not really an extra lauer because proxmox is an os.you use nixos i use proxmox. everything is out of the box. proxmox has comminntiu scripts to run everythkng and set them up. so want to install radarr? bash -c “$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/radarr.sh)”
sure podman has similar setup but i also need vms and they are all mamaged in one place
so want to install radarr? Paste this totally not sketchy bash script into your terminal and execute it as root!!
@oha @terabyterex @selfhosted
You should checked that script first…ProxmoxVE helper scripts have been around for quite a while and are pretty easy to read, as well as being pretty well supported in the community. You can just go to the GitHub page and read them. I’ve used some of their scripts before by downloading them, customizing the scripts to my needs, and hosting it on a local web server inside my network. Now I can run one command and I’ll have a new debian container on my host with ssh keys and everything.
I moved from VMware Fusion after a hardware failure and migrated to Proxmox. I use VMs to isolate client information and to test and use different OS versions and distros.
I have a VM that runs Docker and connect to it via SSH for running applications I don’t want to install on my main workstation.
My main workstation is also a VM.
I came from bare metal Linux for years and found that I spent too much time recompiling kernels to make it work with my hardware.
Now that everything is a VM, changing underlying hardware, and even hypervisor is trivial.
If VMware hadn’t been bought by Broadcom and allowed me to virtualise x86 on Apple Silicon, I’d still be running VMware Fusion. UTM by the way is completely unreliable … I really tried.
As it is, I’m running Proxmox on AMD.
in summary, Proxmox allows me to build what I need when I need it virtually and it’s running on a standard Debian host.
Edit: #$#__# autocorrect (unreadable -> unreliable)






