Proxmox VE turns a single physical server into a full virtualization host: KVM virtual machines, LXC containers, a built-in backup system, and a web interface you run from any browser. It’s free, it’s based on Debian, and it installs from one ISO in about ten minutes.
This walkthrough covers a clean bare-metal install on a dedicated machine. You’ll download the ISO, write it to a USB stick, boot the installer, choose between ext4 and ZFS, set a static IP, and log in to the web GUI on port 8006. At the end you’ll switch the package repository so the server can update without a paid subscription.
The steps assume Proxmox VE 8.x. Earlier 7.x releases look almost identical, and where something changed by version I’ll say so.
What you need before you start
Proxmox is not fussy about hardware, but a few things have to be in place or the install stalls later.
Before you start
- A 64-bit server with Intel VT-x or AMD-V enabled in the BIOS
- At least 8 GB RAM for real use (2 GB is the bare minimum to install)
- A dedicated disk for Proxmox — the installer erases the whole target disk
- A USB stick of 2 GB or larger for the installer
- A static IP, subnet, gateway, and DNS server you can assign to the host
- A second disk if you plan to use ZFS mirroring
That static IP matters more than people expect. Proxmox is a server: you reach it over the network and it should keep the same address every time it boots. Decide on the IP, gateway, and DNS now so you can type them in during the install rather than fixing them afterward.
Step 1: Download the Proxmox VE ISO
Grab the installer image straight from the vendor. Go to the Proxmox downloads page and download the latest Proxmox VE ISO Installer. It’s a single .iso file, around 1.3 GB.
If you want to be thorough, verify the SHA-256 checksum listed next to the download against the file you received. On Windows:
Get-FileHash .\proxmox-ve_8.iso -Algorithm SHA256
On Linux or macOS:
sha256sum proxmox-ve_8.iso
The output should match the checksum on the download page exactly. A mismatch means a corrupted download — get it again before you write it to USB.
Step 2: Write the ISO to a USB stick
The Proxmox ISO is a hybrid image. You can’t just copy the file onto a USB drive; you have to write it block-for-block. Use one of these:
Tools for writing the Proxmox ISO to USB
| balenaEtcher | Cross-platform and the easiest. Pick the ISO, pick the USB, flash. Works on Windows, macOS, Linux. |
|---|---|
| Rufus (Windows) | Select the ISO and write in DD Image mode when it asks. ISO mode produces a stick that won't boot the installer. |
| dd (Linux/macOS) | Command line. Powerful and unforgiving — the wrong device name wipes the wrong disk. |
The dd command looks like this on Linux. Double-check the device name with lsblk first, because dd writes wherever you point it with no warning:
# /dev/sdX is the USB stick — confirm with lsblk before running
sudo dd if=proxmox-ve_8.iso of=/dev/sdX bs=1M status=progress conv=fsync
Step 3: Boot the installer (BIOS vs UEFI)
Plug the USB stick into the server, power it on, and open the boot menu. The key varies by manufacturer — usually F11, F12, F8, or Esc during the splash screen. Pick the USB device from the list.
Two things to know about firmware:
- UEFI vs Legacy/BIOS — Modern servers boot the installer fine in UEFI mode, which is the right choice. Older hardware may need Legacy/CSM mode. The Proxmox boot menu looks slightly different between the two, but the install steps that follow are the same.
- Secure Boot — Proxmox VE 8.1 and later ship a signed bootloader and boot with Secure Boot enabled. On older releases, or if the installer refuses to boot, turn Secure Boot off in the firmware and try again.
When the boot menu appears, choose Install Proxmox VE (the graphical installer). There’s also a terminal-based option if the graphical one has trouble with your video hardware.
Step 4: Work through the installer
The graphical installer is short. Here’s each screen and the decision it asks for.
- End User License Agreement — read or skim, then Agree.
- Target hard disk — choose the disk Proxmox installs onto. This is also where the filesystem decision lives (covered next). Anything already on this disk is erased.
- Location and time zone — country, time zone, keyboard layout.
- Administration password and email — set a strong root password and a real email address. The password is what you’ll use to log in to the web GUI, and the email is where the host can send alerts.
- Management network — the host’s network identity (covered in Step 6).
Step 5: Choose your filesystem (ext4 vs ZFS)
On the target disk screen, the Options button is where you choose the filesystem. This is the one install decision that’s genuinely hard to change later, so it’s worth a moment.
ext4 vs ZFS at install time
| ext4 (default, with LVM) | Simple and light on RAM. Good for a single disk, or when a hardware RAID controller already handles redundancy. The safe default for a first install. |
|---|---|
| ZFS (RAID0/1/10/Z) | Software RAID, snapshots, and data checksumming built in. Needs two or more disks to be worth it, plus several GB of RAM for its cache (ARC). |
| xfs / btrfs | Also offered. xfs behaves much like ext4; btrfs is still marked technology preview and best avoided on production hosts. |
If you have one disk and you’re new to Proxmox, choose ext4 and move on. If you have two or more matching disks and want redundancy without a hardware RAID card, choose ZFS and select a mirror (RAID1) or RAID10 layout. Do not put ZFS behind a hardware RAID controller — give ZFS direct access to the raw disks, or it can’t do its job and may corrupt data on power loss.
There’s a deeper comparison of the storage options in Proxmox LVM vs LVM-Thin vs ZFS if you want to understand the trade-offs before committing.
Step 6: Set the management network
The last installer screen configures how you reach the server. Get this right and the web GUI is waiting for you after the reboot.
- Management interface — pick the wired NIC that’s plugged into your network. If the server has several, the installer shows their MAC addresses to help you choose.
- Hostname (FQDN) — use a fully qualified name like
pve01.lab.local. A bare hostname with no domain part will fail validation. The name before the first dot becomes the node name. - IP address (CIDR) — the static IP with its prefix, for example
192.168.1.50/24. - Gateway — your router or firewall, for example
192.168.1.1. - DNS server — a resolver the host can reach, such as your router or
1.1.1.1.
Confirm the summary, click Install, and let it finish. When it’s done, remove the USB stick and reboot.
Step 7: Log in to the web GUI on port 8006
After the reboot, the server prints a console login and, near the top, the URL for the web interface. From another computer on the same network, open a browser and go to:
https://192.168.1.50:8006
Three details catch people here:
- It’s HTTPS, not HTTP.
- You must include the port, :8006.
- The certificate is self-signed, so the browser shows a security warning. That’s expected on a fresh install — click through to proceed.
Log in with username root, the password you set during install, and the realm Linux PAM standard authentication. You’re now in the Proxmox VE web interface.
That vmbr0 bridge is how your VMs will reach the network later. If you want to understand it before creating machines, see how to configure the Proxmox network bridge vmbr0.
Step 8: Switch to the no-subscription repository
A brand-new install is pointed at the enterprise package repository, which needs a paid subscription key. Without one, apt update throws a 401 error and the server can’t pull updates. Two ways to fix it.
The simplest is the GUI. In the web interface, go to your node, then Updates → Repositories. Select the pve-enterprise repository and click Disable, then click Add and choose the No-Subscription repository. Do the same for the Ceph enterprise repo if it’s listed.
If you prefer the command line, disable the enterprise repo and add the no-subscription one:
# comment out the enterprise repository
sed -i 's/^deb/# deb/' /etc/apt/sources.list.d/pve-enterprise.list
# add the no-subscription repo (Proxmox VE 8.x is on Debian "bookworm")
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
> /etc/apt/sources.list.d/pve-no-subscription.list
# refresh and update
apt update && apt full-upgrade -y
After the upgrade finishes, reboot if the kernel was updated, and your host is current. The subscription nag dialog at login is harmless — it’s just reminding you there’s no support contract, not blocking anything.
You’re ready to build VMs
That’s a complete bare-metal install: ISO to USB, installer with the right filesystem, a static management IP, the web GUI on 8006, and a working update repository. The server is now a hypervisor waiting for workloads.
From here, the natural next steps are uploading an ISO to create your first VM, sorting out networking, and setting up backups. If you’re still weighing platforms, the Proxmox VE vs VMware ESXi comparison lays out where each one fits. For more walkthroughs, browse the Proxmox guides.