Proxmox 101: Turn One Old PC into a Virtualization Powerhouse

Many machines from a single box

That old desktop in the cupboard, the one too slow for modern games but far too capable to bin, is a homelab waiting to happen. With Proxmox VE you can carve a single physical machine into a dozen virtual ones, each isolated, each snapshot-able, each ready to host a different service. Instead of one box doing one job, you get a flexible platform where you can spin up a test server in two minutes and throw it away just as fast. This guide explains what Proxmox is, what hardware it needs, how to install it, and how to plan a sensible first homelab that complements the self-hosted services covered elsewhere on this blog.

Proxmox Virtual Environment is an open-source platform for running virtual machines and containers. Underneath, it is Debian Linux with a curated stack bolted on: the KVM hypervisor for full virtual machines, LXC for lightweight Linux containers, and a polished web interface that ties everything together. You manage the whole thing from a browser, no desktop environment required on the server itself.

The appeal is that it bundles enterprise-grade virtualisation into something a hobbyist can run for free. KVM gives you proper hardware-accelerated virtual machines capable of running any operating system, while LXC offers near-native-speed Linux containers for when you do not need a whole separate kernel. Having both under one management interface means you pick the right tool per workload without learning two entirely different systems.

Crucially, Proxmox treats the web UI as a first-class citizen rather than an afterthought. Creating a VM, attaching storage, taking a snapshot, or restoring a backup are all a few clicks, which is what makes it such a friendly entry point into virtualisation.

Proxmox is not fussy, but a few things matter. The headline requirement is hardware virtualisation support in the CPU, Intel VT-x or AMD-V, which has been standard on desktop and server processors for well over a decade. It is occasionally disabled in the BIOS by default, so check there if VMs refuse to start.

Memory is where ambition meets reality. Proxmox itself is light, but virtual machines each want their own RAM. A 64-bit processor and a few gigabytes will boot the host, but for a comfortable homelab running several workloads, 16 GB is a sensible floor and 32 GB or more gives real breathing room. A 64-bit CPU is mandatory.

For storage, a dedicated SSD for the Proxmox install pays for itself in responsiveness, with additional disks for VM and container storage. If you intend to experiment with the built-in ZFS support, more RAM and more than one disk become worthwhile. None of this needs to be new or expensive; a retired business desktop is often a superb starting point.

Installation is straightforward. Download the Proxmox VE ISO from the official site and write it to a USB stick. On Linux you can use dd, being very careful to target the right device:

sudo dd if=proxmox-ve_*.iso of=/dev/sdX bs=1M status=progress conv=fsync

Replace /dev/sdX with your USB device, and double-check it with lsblk first, because dd will cheerfully overwrite the wrong disk without a flicker of remorse.

Boot the target machine from the USB stick and the graphical installer takes over. It asks for the target disk (which it will erase entirely, so use a machine you are happy to wipe), your country and timezone, a root password and an administrator email, and the network configuration. Give the host a static IP address, because a hypervisor that wanders to a new address is a hypervisor you cannot find. When it finishes and reboots, it prints the URL of the web interface, typically https://<your-ip>:8006.

Open that URL, accept the self-signed certificate warning, and log in as root with the password you set. You will likely see a notice about the enterprise subscription repository; for a home lab you can switch to the free “no-subscription” repository in the repository settings, after which updates flow normally.

The interface is laid out as a tree on the left: your datacentre at the top, your node beneath it, and within that the VMs, containers, and storage. Selecting any item reveals its relevant tabs in the main panel, summary, console, hardware, snapshots, backup, and so on. The Shell button gives you a root terminal on the host straight from the browser, which is handy and slightly dangerous in equal measure.

Spend a few minutes clicking around before you build anything. The mental model is simple once you see it: the node is the physical machine, and everything below is the virtual stuff you run on it.

To run a virtual machine you first need an installation ISO on the host. Select your node, open the local storage, choose ISO Images, and upload an ISO such as a Debian or Ubuntu image. Larger storage targets can also fetch ISOs directly from a URL.

With the ISO in place, click Create VM in the top right. The wizard walks through naming the VM, picking the ISO to boot from, allocating CPU cores and memory, sizing the virtual disk, and configuring the network. Sensible starting values for a small Linux server are two cores, 2 GB of RAM, and a 16 GB disk; you can adjust all of them later. Finish the wizard, start the VM, and open its Console tab to run the operating system installer exactly as you would on real hardware.

That is the whole loop. From upload to a running, isolated server is a matter of minutes, and you can repeat it as many times as your RAM allows.

Proxmox offers a second, lighter way to run things: LXC containers. Where a VM virtualises an entire machine including its own kernel, a container shares the host’s kernel and isolates only the userland. The result is dramatically lower overhead, faster start-up, and higher density, you can pack many more containers onto the same box than VMs.

The trade-off is flexibility. Containers run Linux only, since they share the host kernel, so a Windows guest or a wildly different kernel needs a full VM. Containers are also slightly less isolated than VMs, which matters if you are running something genuinely untrusted.

A useful rule of thumb for the homelab: reach for an LXC container when you want a lightweight Linux service like a small web app, a DNS resolver, or a reverse proxy, and reach for a full VM when you need a different operating system, stronger isolation, or to run nested workloads such as Docker that you would rather keep cleanly separated. Many people run a mix, and Proxmox manages both identically.

This is where Proxmox earns its keep. A snapshot captures the exact state of a VM or container at a moment in time, including its disk and, optionally, its running memory. Before any risky change, take a snapshot, make your mess, and if it goes wrong, roll back in seconds as though it never happened. For anyone who learns by breaking things, this is transformative.

Snapshots are not backups, though, because they live on the same storage as the thing they protect. Proxmox has a separate Backup facility that exports a full, restorable archive of a guest to another location, a second disk, a network share, or the dedicated Proxmox Backup Server if you grow into one. Schedule backups from the datacentre level, send them somewhere off the host, and test a restore at least once. A backup you have never restored is a hypothesis, not a safety net.

Once you have one node humming along, Proxmox lets you join several together into a cluster, managed from a single interface, with the ability to migrate guests between nodes and, with shared storage, recover workloads if a node fails. That is firmly a later-stage ambition; you do not need it to get enormous value from a single machine, and it is mentioned here only so you know the path forward exists.

For a first homelab, keep it modest and concrete. Install Proxmox on one tidy box. Create one Debian VM as a general-purpose server, and on it run the Docker Compose stacks you will meet elsewhere on this blog, perhaps a media server or a password vault. Add a lightweight LXC container or two for small standalone services like Pi-hole. Take a snapshot before every experiment, schedule a nightly backup to a second disk, and resist the urge to run anything you cannot afford to lose until your backups have proven themselves. Start small, break things safely, and that old PC quietly becomes the most useful machine in the house.