Proxmox supports OCI containers natively now
As of 9.1, and kind of. To be clear what its doing is not a drop-in replacement for docker, but using that image as a basis for an lxc - so you’re not just pulling a new image to update, more like re-deploying, so keep your stored data elsewhere, outside of the lxc. So what was handled by pulling an image or a change to a compose is done manually in proxmox now, but it does make things like backups/snapshots much more consistent and proxmox-native.
I think the misunderstanding is that I’m running every single service as Docker inside its own LXC. That’s not actually what I’m doing.
I split things by service boundary. For example, Pi-hole + Unbound has its own LXC, Lemmy has its own LXC, Immich has its own LXC, etc. Most of those run natively in LXC without Docker at all.
Docker is only there where the application actually expects/benefits from it. I’m not adding a Docker layer everywhere just for the sake of it.
The reason I prefer this over one giant LXC with everything docker- inside is the management side.
Yes, there is some overhead. But LXC containers are much lighter than VMs. They share the host kernel and use Linux namespaces/cgroups for isolation, so you’re not paying the cost of a full virtualized OS. The extra memory/CPU overhead is minimal compared to the management benefits I get from separating services.
The Docker overhead only exists on the services that actually need Docker. A lot of my services run directly in their own LXC without Docker at all.
Could I put everything into one LXC and run Docker Compose? Sure. It would probably work fine. But for a homelab, ease of maintenance and recovery is just as important as raw resource efficiency.
FlexibleToast@lemmy.world 4 hours ago
How does that make it easier for maintenance?