Proxmox Virtual Environment (Proxmox VE) is a powerful open source virtualisation platform built on Debian Linux. It lets you run full virtual machines (KVM) and lightweight containers (LXC) side by side, all managed through a polished web interface. Whether you're building a home lab or a small business server, Proxmox gives you enterprise-grade virtualisation for free.
What You'll Need
- Hardware: A 64-bit CPU with Intel VT-x or AMD-V virtualisation support enabled in BIOS. At least 8 GB RAM (16 GB+ recommended), and 120 GB+ storage (SSD strongly preferred).
- Network: A wired Ethernet connection — Wi-Fi is not supported during installation.
- USB drive: 4 GB or larger for the installer.
- A computer with balenaEtcher or Rufus to flash the ISO.
Popular home lab hardware: old desktop PCs, HP EliteDesk mini PCs, Dell OptiPlex, or dedicated servers like the Minisforum MS-01.
Step 1: Download Proxmox VE
Download the latest Proxmox VE ISO from the official website. At the time of writing, the current release is Proxmox VE 8.x based on Debian 12 Bookworm.
# The ISO will be named something like:
proxmox-ve_8.x-1.iso
Step 2: Flash the Installer to USB
Use balenaEtcher to flash the ISO to your USB drive. On Linux you can also use dd:
sudo dd if=proxmox-ve_8.x-1.iso of=/dev/sdX bs=4M status=progress
sync
Replace /dev/sdX with your USB device. Verify with lsblk before running.
Step 3: Install Proxmox VE
Boot from the USB drive and work through the graphical installer:
- Select Install Proxmox VE (Graphical)
- Accept the EULA
- Select your target hard drive — click Options to choose the filesystem. ext4 is safe and simple; ZFS gives you snapshots and built-in RAID at the cost of more RAM
- Set your country, timezone, and keyboard layout
- Set a strong root password and an email address for alerts
- Configure the network — set a static IP address (e.g.
192.168.1.10), your gateway, and DNS server - Review the summary and click Install
Installation takes about 5 minutes. The system will reboot automatically — remove the USB drive when prompted.
Step 4: Access the Web Interface
After reboot, Proxmox runs a web management interface on port 8006. From any browser on your network:
https://192.168.1.10:8006
You'll see a certificate warning — this is expected for the self-signed cert. Accept it and log in as root with the password you set during installation.
You'll also see a "No valid subscription" notice. Proxmox VE is fully functional without a subscription — click OK to dismiss it.
Step 5: Remove the Subscription Repository (Recommended)
By default Proxmox points to its enterprise repository, which requires a paid subscription. Switch to the free community repo so you receive updates:
# Disable the enterprise repo
echo "# disabled" > /etc/apt/sources.list.d/pve-enterprise.list
# Add the no-subscription repo
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
> /etc/apt/sources.list.d/pve-no-subscription.list
apt update && apt dist-upgrade -y
Run these commands in the Proxmox shell — either via SSH or through the built-in Shell tab in the web UI (select your node → Shell).
Step 6: Upload an ISO Image
Before creating a VM, you need an OS ISO stored on Proxmox. In the web UI:
- Go to Datacenter → your node → local → ISO Images
- Click Download from URL and paste the direct link to an ISO (e.g. Ubuntu Server 24.04)
- Or click Upload to upload a file from your computer
Step 7: Create Your First Virtual Machine
Click Create VM in the top right and work through the wizard:
- General: Give the VM a name and ID (e.g.
100 - ubuntu-server) - OS: Select your uploaded ISO and set the guest OS type to Linux
- System: Leave defaults — BIOS: SeaBIOS, machine: i440fx works for most Linux installs. Use OVMF (UEFI) for Windows or modern distros
- Disks: Set disk size (32 GB minimum for a Linux server). Use VirtIO SCSI for best performance
- CPU: Assign at least 2 cores. Set type to host for best performance (passes through your actual CPU features)
- Memory: 2048 MB minimum; 4096 MB for a comfortable server
- Network: Leave as VirtIO on the default bridge
vmbr0
Click Finish, select the VM in the left panel, and click Start. Open the Console tab to complete the OS installation.
Step 8: Create Your First LXC Container
LXC containers are far more lightweight than VMs — they share the host kernel and start in seconds. They're ideal for running services like Nginx, Pi-hole, or Nextcloud.
First, download a container template:
- Go to local → CT Templates → Templates
- Search for ubuntu-22.04-standard and click Download
Then click Create CT:
- Set a hostname, a strong root password, and optionally an SSH public key
- Select the downloaded template
- Disk: 8 GB is plenty for most services
- CPU: 1–2 cores
- Memory: 512 MB–1024 MB
- Network: DHCP on
vmbr0or set a static IP
Start the container and connect via the Console or SSH. It's ready to use in seconds.
Step 9: Configure Storage
Proxmox supports many storage backends. To add a directory or a second disk:
# List available disks
lsblk
# Format and mount a second drive for VM storage
fdisk /dev/sdb # create a partition
mkfs.ext4 /dev/sdb1
mkdir /mnt/storage
echo "/dev/sdb1 /mnt/storage ext4 defaults 0 2" >> /etc/fstab
mount -a
Then add it in the web UI: Datacenter → Storage → Add → Directory. Set the path to /mnt/storage and enable it for VM images, ISO images, and container templates.
Step 10: Set Up Automated Backups
Proxmox has built-in VM and container backup scheduling. Go to Datacenter → Backup → Add:
- Select a storage target (local or your added storage)
- Set a schedule (e.g. daily at 02:00)
- Choose VMs and containers to include
- Compression: ZSTD is the best balance of speed and size
- Mode: Snapshot for running VMs (no downtime); Stop for consistency
Backups are stored as .vma.zst files and can be restored with a single click from the Backup tab of any VM.
What's Next?
- Snapshots — right-click any VM → Snapshots → Take Snapshot before making risky changes. Roll back instantly if something goes wrong.
- Clustering — add a second Proxmox node and join them into a cluster for centralized management and live VM migration between hosts
- Ceph storage — for advanced setups, Proxmox integrates with Ceph to create a distributed, redundant storage pool across multiple nodes
- Firewall — Proxmox has a built-in firewall under Datacenter → Firewall. Enable it to restrict access to the web UI and protect individual VMs
- GPU passthrough — pass a physical GPU directly to a VM for gaming, AI workloads, or Plex hardware transcoding using PCIe passthrough
The Proxmox VE Wiki is the definitive reference, and the Proxmox forums are very active for home lab questions.