r/Proxmox • • 22h ago

Community Showcase! I moved my Proxmox services to OCI — and cut their RAM usage by 40%

139 Upvotes

After my first OCI tests, I migrated the services in my Proxmox homelab using ProxMenux. I wanted to try it on my own setup and see what worked, rather than recommend that everyone move their homelab.

The measured services went from 4,341 to 2,617 MiB of RAM PSS, about 40% less. That is the total for those services, not a 40% reduction in the whole node's memory usage. Home Assistant still runs in a VM with HAOS.

RAM savings depend on both the application and the installation you’re migrating from. The 40% reduction is specific to my mix of services and previous setups—not a universal saving.

Four different ways to run the same applications

I compared applications installed directly in an LXC, Docker inside an LXC, OCI images run as LXCs without Docker Engine, and Docker directly on the lab host. I also explain the VM + Docker option in the video, but I did not measure it.

The lab used AdGuard Home, Pi-hole, Vaultwarden, Uptime Kuma, Nginx Proxy Manager, Memos, Actual Budget, Navidrome, Jellyfin and PostgreSQL. These were test installations with equivalent synthetic data and controlled load, separate from my actual services.

Lab arrangement Idle RAM, MiB PSS Under load, MiB PSS
LXC from OCI image 685 803
Docker inside LXC 1,919 2,050
Application installed directly in LXC 1,146 1,258
Docker on the lab host 847 967

There was one Docker Engine per LXC in the Docker-in-LXC case, but one shared Engine for all ten applications in the host-Docker case. Those are different layouts; the 1,919 MiB result does not describe ten containers sharing one Docker Engine. Installing Docker on the hypervisor was only a lab reference, not my recommendation.

Each arrangement was measured for two minutes at idle and two minutes under simultaneous load, with a 20-second warm-up before the load measurement. PSS shares the accounting of shared memory pages. These totals include the processes and runtime of each arrangement, not the common Proxmox services, kernel or unmapped filesystem cache.

My actual homelab migration

This was a separate before/after comparison of complete services with my existing data, using two-minute RAM measurements during normal activity. The machine was a Minisforum MS03 with an Intel Core Ultra 9 386H, 16 logical CPUs and about 62.3 GiB of usable RAM, running Proxmox 9.2.21.

Service Previous installation Before, MiB PSS OCI, MiB PSS Less RAM
AdGuard Home Direct LXC 230 128 44%
Uptime Kuma LXC + Docker 311 165 47%
Nginx Proxy Manager LXC + Docker 394 118 70%
Plex Direct LXC 154 127 18%
Tailscale Direct LXC 70 32 54%
ARR suite, five services LXC + Docker 1,271 735 42%
Vaultwarden LXC + Docker 169 29 83%
Nextcloud, three services LXC + Docker 406 267 34%
Homepage LXC + Docker 301 145 52%
Immich, four services LXC + Docker 1,035 872 16%
Total 4,341 2,617 40%

Values are rounded; totals were calculated before rounding. For multi-service applications, the OCI column includes all their LXCs, not just the frontend. This is my real migration result, not an identical-version benchmark or a promise of the same saving in another setup. I did not make a new CPU comparison for this migration.

Several LXCs does not mean several LAN addresses

Immich and Nextcloud are split into an LXC per service by ProxMenux. Their services communicate on an internal network; only the application container also needs the LAN connection I use to reach it. That layout is a ProxMenux decision, not an OCI requirement. I use tags to keep the groups readable in Proxmox.

I no longer use Arcane for these services: I manage them through Proxmox and ProxMenux, including their PBS backups. OCI application containers are still Technology Preview.

How are you organising multi-service applications if you use OCI-backed LXCs? If you prefer Docker in a VM, what matters most in your setup: the shared runtime, isolation, updates or migration?

My video showing the comparison and the migrated homelab. The original video is in Spanish.

English translation of my Spanish video notes, with AI assistance.


r/Proxmox • • 18h ago

Guide If you run Proxmox in your homelab...

Thumbnail
0 Upvotes