Proxmox VE is the main virtualisation platform used throughout Realm Labs.

It runs the virtual machines and Linux containers that make up much of the lab infrastructure, providing a flexible way to separate services without needing a physical machine for every workload.

Rather than treating Proxmox as a test platform, it has become part of the day-to-day infrastructure behind monitoring, networking, automation and self-hosted services.

Why I Use Proxmox

I originally wanted a platform that could run a mixture of full virtual machines and lightweight containers without becoming overly complicated.

Proxmox fitted that requirement well.

It provides:

  • KVM virtual machines
  • LXC containers
  • web-based management
  • snapshots
  • scheduled backups
  • virtual networking
  • storage management
  • console access
  • resource monitoring

For a homelab, the biggest advantage is being able to experiment without needing another physical computer every time I want to deploy something new.

The Realm Labs Proxmox Host

The main Proxmox host in Realm Labs is a Shuttle DS81 named QuanChi.

It runs Proxmox VE directly on the hardware and provides the compute platform for a number of services around the lab.

The host itself is deliberately kept fairly simple.

Proxmox handles the virtualisation layer while important data and backups can be stored elsewhere, including on the Synology NAS.

This keeps the roles reasonably separated and makes rebuilding individual services much easier.

Containers and Virtual Machines

One of the most useful parts of Proxmox is being able to choose between an LXC container and a full virtual machine depending on what a service actually needs.

I generally use LXC containers for lightweight Linux services.

They start quickly, use relatively little memory and do not require an entire guest operating system for every application.

Full virtual machines are used where stronger isolation or a complete operating system is required.

Windows environments are the obvious example.

Services Running on Proxmox

A number of Realm Labs services have been deployed through Proxmox.

These have included systems for:

  • MQTT
  • monitoring
  • Grafana
  • Prometheus-related tooling
  • InfluxDB
  • Telegraf
  • qBittorrent
  • Uptime Kuma
  • Homepage
  • SNMP monitoring
  • Windows virtual machines
  • Active Directory testing
  • general Linux services

The exact mix changes regularly as the lab evolves.

That is another advantage of virtualisation: services can be added, rebuilt or retired without continually changing the physical infrastructure.

LXC Containers

LXC containers are my preferred option for small Linux services where a full VM would be unnecessary.

They work particularly well for services that:

  • run continuously
  • require relatively little memory
  • do not need their own kernel
  • are easy to rebuild
  • expose a single application or service

They also make resource usage much easier to control.

CPU, memory and disk allocations can be adjusted independently as requirements change.

Virtual Machines

Virtual machines are used when the workload needs a complete operating system.

Windows is the main example in Realm Labs.

I have used Proxmox VMs for Windows systems, domain testing and other environments where running inside a container would either be impossible or inappropriate.

The advantage here is isolation.

A VM behaves much more like a standalone physical computer while still being easy to snapshot, back up and restore.

Networking

Proxmox connects its guests to the wider Realm Labs network using Linux bridges.

From there, virtual machines and containers can communicate with the rest of the physical network just like other devices.

This allows virtual services to interact with:

  • Synology storage
  • Raspberry Pi systems
  • Home Assistant
  • monitoring systems
  • Windows devices
  • switches
  • other servers

Networking has been one of the areas where running a real homelab has been particularly useful.

Problems that initially appear to be application faults often turn out to involve DNS, routing, firewall rules or incorrect network configuration.

Monitoring

The Proxmox environment is also monitored rather than being treated as a black box.

Metrics such as CPU usage, memory, storage and system health are collected and displayed alongside other Realm Labs infrastructure.

This makes it much easier to see how the host is behaving while services are running.

It also helps when deciding whether a container or VM actually needs the resources originally allocated to it.

Storage

I try to avoid making the Proxmox host the only location for important data.

The host provides local storage for virtual machines and containers, while the Synology NAS provides central storage and backup capacity elsewhere in the environment.

This separation means a problem with the Proxmox host does not automatically mean losing all of the data used by the wider lab.

It also makes services easier to migrate or rebuild.

Backups and Recovery

Snapshots are useful, but I do not treat them as a complete backup strategy.

Snapshots are mainly useful before potentially disruptive changes, upgrades or configuration work.

Proper backups are kept separately so that a virtual machine or container can still be recovered if the host itself fails.

This has become more important as Proxmox has moved from being an experimental system to hosting services that I actually rely on.

What Proxmox Has Made Easier

Before using virtualisation heavily, adding another service usually meant deciding where to install it and whether it might interfere with something already running.

Proxmox largely removes that problem.

Instead of building one large server with dozens of applications installed directly onto the operating system, services can be separated into their own environments.

If something breaks, it is much easier to troubleshoot or rebuild that one service without disturbing everything else.

Things I Have Learned

Running Proxmox in a real environment has reinforced a few things.

More resources are not always better.

A lightweight Linux service often needs far less RAM and CPU than expected.

Good DNS matters enormously.

A virtual service can be perfectly healthy while appearing broken simply because another device cannot resolve its hostname correctly.

Backups need to exist outside the host.

And finally, documenting what runs where becomes increasingly important as the number of services grows.

Why Proxmox Works Well in Realm Labs

Proxmox gives Realm Labs a useful middle ground between dedicated hardware and cloud hosting.

I still own and control the physical infrastructure, but services can be deployed with much of the flexibility normally associated with cloud platforms.

There are no per-VM licensing costs for the hypervisor, the management interface is straightforward, and both containers and virtual machines can coexist on the same host.

That combination has made it one of the core platforms behind the lab.

Related Realm Labs Content

Proxmox appears throughout many Realm Labs projects because it provides the platform underneath them.

Related areas include:

  • Docker and container hosting
  • monitoring with Grafana and Prometheus
  • Synology NAS storage
  • Windows virtual machines
  • Active Directory
  • MQTT
  • self-hosted services
  • networking
  • backups

Proxmox is one of those systems that gradually disappeared into the background as the lab matured.

That is probably the best compliment I can give it: most of the time, it simply runs.