Homelab from Zero #10: From one box to many with ProxmoxHomelab from Zero #10: From one box to many with Proxmox

Homelab from Zero #10: From one box to many with Proxmox

This is part 10 of Homelab from Zero, and the start of Phase 4: leveling up. In part 9 you made your lab reachable from anywhere. So far everything has run on one machine, directly on the OS. Today we introduce Proxmox, which lets that one box pretend to be many.

Why virtualize at all

Right now, all your services share a single operating system. That’s fine until you want to try something risky, a new OS, a database that might eat all your RAM, a tool you’re not sure you trust. One bad experiment can take down Pi-hole and everything else with it.

A virtual machine (VM) is a complete, isolated computer running inside your real one, its own OS, its own storage, walled off from everything else. Break a VM and you delete it; the host and your other VMs never notice. Proxmox is the free, open-source platform that creates and manages these VMs through a clean web interface.

Without Proxmox With Proxmox
One OS, everything shares it Many isolated VMs on one box
A bad experiment risks everything Break a VM, delete it, move on
Hard to try a second OS Spin up a new OS in minutes

A heads-up before you start

Proxmox is an operating system you install on the bare metal. It replaces the Linux install from part 2. This is the one post in the series where you wipe and start fresh, so do it on a spare machine, or only after you’ve used part 6’s backups to save everything off your current box.

Don’t have a second machine? That’s completely fine; Proxmox is optional. Everything in earlier parts keeps working without it. Read this one for the concepts and come back when you’ve got hardware to spare.

Step 1: Install Proxmox VE

Download the Proxmox VE installer ISO from proxmox.com, write it to a USB stick with a tool like balenaEtcher, and boot the target machine from it. The installer is a guided, graphical process:

  • Pick the disk to install onto (it will be erased).
  • Set a strong root password and an admin email.
  • Give it a hostname and a static IP on your network, e.g. 192.168.1.74.

Fifteen minutes later the machine reboots into Proxmox and prints a URL.

Step 2: Open the web interface

On your normal computer, visit the address it showed:

https://192.168.1.74:8006

Your browser will warn about the certificate (Proxmox uses a self-signed one by default, exactly the kind of thing part 8’s Caddy setup can fix later). Accept it, log in as root with the password you set, and you’re looking at the Proxmox dashboard: your machine’s CPU, memory, and storage, ready to carve up.

Step 3: Create your first VM

Click Create VM in the top right and walk through the wizard:

Setting What to pick
Name test-vm
ISO image An OS installer you’ve uploaded (e.g. Ubuntu Server)
Disk 20 GB is plenty to start
CPU 1–2 cores
Memory 2 GB

To upload an OS installer first, go to your storage → ISO Images → Upload and send it an Ubuntu Server ISO. Then finish the wizard, select your new VM, and click Start. Open the Console tab and you’ll see the OS installer booting, inside a window, on a machine that’s still happily running everything else.

Step 4: The one feature you’ll love: snapshots

Before you change anything risky in a VM, take a snapshot, a frozen copy of its exact state. Select the VM, open Snapshots, click Take Snapshot. Experiment freely; if it goes wrong, Rollback returns the VM to that moment as if nothing happened. It’s the undo button physical machines never had.

What you have now

A single piece of hardware that hosts multiple isolated virtual machines, each one disposable, snapshot-able, and safe to experiment on, managed from one tidy web dashboard. Your homelab just stopped being one fragile box and became a platform.

In part 11 we make the whole thing reproducible: Docker Compose, so the stack of services you’ve built by hand can be rebuilt from a single file in seconds.


← Back to blog

Following along?