This page documents against Proxmox VE 8.x - the installer and web UI have stayed fairly stable across the 8.x line, but menu locations and repo names have shifted before across major versions, so if something doesn't match exactly, check the version-specific docs.

Hardware and install media

Proxmox installs directly on bare metal (it is the OS - you don't install it on top of Debian, though it's built from Debian underneath). Minimum realistic homelab spec:

  • 64-bit CPU with virtualization extensions (Intel VT-x / AMD-V), enabled in BIOS/UEFI
  • 8GB RAM absolute floor, 16GB+ recommended once you're running more than one or two guests
  • A dedicated boot disk - don't share it with a ZFS data pool if you can avoid it (see Storage and ZFS)

Download the installer ISO from proxmox.com and write it to a USB drive (Balena Etcher or dd both work fine). Boot from it and follow the graphical installer - target disk, timezone, root password, and a management network address are the only decisions that matter on first pass; everything else can be changed later from the web UI.

⚠️ Risk: the installer will offer to use the entire target disk, wiping anything on it. Double-check you've selected the right disk, especially if you're installing into a machine that still has other drives with data attached.

First login and the enterprise repo nag

After install, the web UI is reachable at https://<server-ip>:8006 (self-signed certificate - your browser will warn you, that's expected for now). Log in as root with the password you set.

Proxmox ships configured to pull updates from the enterprise repository, which requires a paid subscription. Without one, you'll see an "No valid subscription" nag on login and updates will fail. This is intentional - Proxmox is free to use, but the enterprise repo funds development for paying customers. For homelab use, switch to the no-subscription repository instead, which is the same software, just without the subscription-gated updates.

In the web UI: Node > Updates > Repositories, disable the enterprise repo, add the no-subscription repo. Or via SSH:

echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" \
  > /etc/apt/sources.list.d/pve-no-subscription.list
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list
apt update && apt full-upgrade -y

Being honest about this: the nag dialog is cosmetic once you're on the no-subscription repo, but it exists because Proxmox is a real company that needs revenue, not because the software is secretly crippled. If you're running this in any kind of production or business context, buying a subscription is a legitimate way to fund a tool you depend on.

Create a non-root admin user

Using root@pam for everyday work is the same mistake as SSHing into a Docker host as root - see Initial Server Setup for why. Create a dedicated admin account instead:

  1. Datacenter > Permissions > Users > Add - create a user in the pve realm (Proxmox's own user database, separate from Linux system accounts).
  2. Datacenter > Permissions > Add > User Permission - grant that user the Administrator role at the / path so it has full control.
  3. Log out of root@pam, log back in as the new user, and confirm it works before you rely on it.

Keep the root@pam password saved somewhere safe (a password manager, not a sticky note) for recovery - you'll still need it occasionally for host-level troubleshooting - but stop using it day-to-day.

Apply updates regularly

Proxmox releases security and bug-fix updates on a rolling basis within a major version. From the web UI, Node > Updates > Refresh, then Upgrade via the built-in console, or via SSH:

apt update && apt full-upgrade -y

Reboot after kernel updates - the web UI will flag when one's pending.

Next: Proxmox VMs and Containers.