Proxmox VE mini PC setup guide hero image showing the path from box to first VM in under an hour

By LK Wood IV · Published 2026-03-31 · Updated 2026-06-10 · ~14 min read · St. Louis County, MO

Some retailer links below are Amazon affiliate links; if you buy through them TechFuel HQ may earn a small commission at no extra cost to you. As an Amazon Associate I earn from qualifying purchases. Commissions never influence which products get recommended — see our disclosure.

TL;DR · The Proxmox-on-mini-PC checklist

  • Hardware: any 2026 mini PC with 16 GB+ RAM and an NVMe slot (see the full Proxmox hardware requirements). Minisforum MS-01, ASUS NUC 14, or used EliteDesk 800 G4 Mini all work.
  • Installer: Proxmox VE ISO + Ventoy on a 4 GB+ USB stick. Verify the SHA256 first. (Full hardware-agnostic install + update reference.)
  • Boot: F11/F12/Del at POST. Wipe the target SSD (NOT the USB installer). ext4 for single-disk, ZFS for multi-disk.
  • First 5 minutes after install: disable the enterprise repo, enable pve-no-subscription, apt update && apt full-upgrade -y, reboot.
  • First VM / LXC: upload an ISO via the web UI, click Create VM (or Create CT for a lightweight container), and you're done.

Steps verified against the official Proxmox VE 9 installation docs and community installs on N100/N305-class mini PCs. Typical elapsed time: ~45 minutes including apt full-upgrade.

You bought the mini PC. You've read the Proxmox vs ESXi comparison (or the Proxmox vs Hyper-V one if you were weighing the Windows side, or the broader Proxmox vs TrueNAS vs Unraid verdict) and made your choice. Now you're staring at a small fanless box and a USB drive and wondering what the actual step-by-step process looks like.

Most guides skip the boring parts — BIOS settings, storage decisions, the repo swap that every single Proxmox install needs. This one doesn't. We're going from sealed box to a running VM and LXC container, covering every decision point along the way. No assumed knowledge, no hand-waving, no "just Google it" cop-outs.

Total time: under an hour if your internet connection is decent. Probably forty-five minutes. Here is exactly where those minutes go and the one decision that matters at each stage:

The 45-minute install, mapped
Segment width is proportional to real elapsed time, box to first VM. The slow part is one apt upgrade, not the install itself.
5m
5m
10m
10m
10m
5m
Box opened · 0 min First VM running · ~45 min
BIOS · 5m — enable VT-d / IOMMU and turn off Secure Boot. Skip this and VMs simply refuse to start later.
USB · 5m — flash with Ventoy, not Rufus. One stick holds every ISO you'll ever boot.
Installer · 10m — the fork that matters: ext4 (single disk, keep it simple) or ZFS (two disks, want snapshots). Set a static IP here too.
Post-install · 10m — the only real wait. Swap to the no-subscription repo, then apt full-upgrade. Grab a coffee; this is the slow part, not the install.
First VM · 10m — set CPU type to host and NIC to VirtIO. Everything else can be changed later without a rebuild.
First LXC · 5m — the last fork: full VM for Windows or kernel-level isolation, lightweight LXC for anything Linux-native. Most homelabs land ~70% LXC.
Elapsed times from a following-along first install; a second machine is closer to 25 min. techfuelhq.com

What You Need Before You Start

  • A mini PC — any x86-64 machine works. The Minisforum MS-01 ($423, dual 10GbE) or Beelink SER8 ($499, 7–10W idle) are the picks from our mini PC guide. But an old laptop or desktop works too — you can repurpose an old gaming PC as a Proxmox server, or follow the $800 used-parts Proxmox build if you're starting from scratch.
  • A USB drive — 4GB minimum. Ventoy makes this easier (explained below).
  • RAM installed — at least 8GB. 16GB or more if you plan to run ZFS.
  • An NVMe or SSD — for the Proxmox boot drive. A 256GB NVMe is $25 and plenty.
  • Ethernet cable and a network with DHCP — Proxmox needs a wired network connection. Wi-Fi is not supported during install.
  • Another computer — to download the ISO and access the Proxmox web UI after install.

Buying the hardware?

The two buy-new picks this guide uses — the Minisforum MS-01 (dual 10GbE) and the Beelink SER8 (low idle) — plus a 256GB NVMe for the boot drive. Check current prices on Amazon; for the value path, a used EliteDesk 800 G4 Mini is cheaper still.

Step 1: BIOS Configuration (5 Minutes)

Before anything touches a USB drive, get into the BIOS. On most mini PCs, mash Delete or F2 during boot. Minisforum uses Delete. Beelink uses Delete or F7.

Change these settings:

  1. Enable VT-d / IOMMU — this is Intel's virtualization technology for directed I/O. It lives under CPU settings or Advanced > Chipset. Without this, PCI passthrough won't work. Some BIOS labels it "Intel VT for Directed I/O" or "VT-d." On AMD, look for "IOMMU" or "AMD-Vi" and enable it.
  2. Enable VT-x / AMD-V — hardware virtualization. This is probably already on, but verify. Without it, KVM won't start.
  3. Set boot order — put USB first so you can boot the installer. You'll change this back after installation.
  4. Disable Secure Boot — Proxmox doesn't ship with signed bootloaders for all hardware. Secure Boot can block the installer or cause post-install boot failures. Turn it off.

Save and exit. The machine will reboot.

Step 2: Create the Boot USB With Ventoy (5 Minutes)

Download two things on your other computer:

  1. Ventoy — from ventoy.net. It's a tool that turns any USB drive into a multi-ISO boot drive. Install Ventoy to the USB, then just drag ISO files onto it. No flashing, no Rufus, no Etcher. You can put ten different ISOs on one stick and pick from a menu at boot.
  2. Proxmox VE ISO — from proxmox.com/downloads. Grab the latest stable release (9.x as of this writing — our Proxmox vs Docker comparison covers what's current). The file is about 1.7GB.

Install Ventoy to the USB drive (this wipes it). Copy the Proxmox ISO onto the USB. Plug it into your mini PC. Boot. Ventoy shows a menu — select the Proxmox ISO.

Why Ventoy instead of Rufus? Because next month you'll want to boot a different ISO for testing, and with Ventoy you just drag another file onto the USB. No reflashing. It's the last USB boot tool you'll ever set up.

Step 3: Run the Proxmox Installer (10 Minutes)

The Proxmox installer is a graphical wizard. It's straightforward, but a few choices matter:

Target Disk and Filesystem

The installer asks which disk to install on and which filesystem to use. This is the most consequential choice in the entire process.

  • ext4 (default) — simple, fast, reliable. If you have a single NVMe boot drive and no plans for advanced storage features, ext4 is the right choice. It uses the standard LVM-thin (local-lvm) layout, which Proxmox knows how to manage natively.
  • ZFS — checksumming, snapshots, compression, and self-healing. If you have two identical drives, ZFS mirror gives you redundancy. The tradeoff: ZFS uses ARC (a read cache) that consumes RAM aggressively. On a 16GB system, set a manual ARC limit after install or ZFS will eat half your memory. More on this below.
  • XFS / Btrfs — available but not recommended for Proxmox. The community support and documentation for ext4 and ZFS are dramatically better.

My recommendation: ext4 on a single NVMe for your first install. You can add ZFS pools later for data drives. Don't complicate the boot drive on day one.

Network Configuration

The installer asks for a hostname (use something like pve.local), an IP address, gateway, and DNS server. If your network has DHCP, the installer will auto-fill these. I'd recommend setting a static IP instead — pick something outside your DHCP range (like 192.168.1.200) so the Proxmox web UI always lives at the same address.

The installer creates a Linux bridge called vmbr0 attached to your first physical NIC. This is how your VMs and containers will reach the network. If your mini PC has multiple NICs (the MS-01 has four), only the first one gets bridged during install. You'll configure the rest later.

Root Password and Email

Set a strong root password. The email address is for system notifications (cron job alerts, ZFS scrub reports). Use a real one if you want those emails; use a dummy one if you don't care.

Hit Install. Wait about five minutes. Proxmox writes to the NVMe, reboots, and you'll see a console login screen with a URL displayed.

What a Proxmox mini PC actually draws
Whole-system watts at the wall, running Proxmox with a typical homelab load. This is why the electricity bill is a rounding error.
Idle Typical load
Beelink SER8 ~$10/yr idle
8.5 W
78 W
MS-01 (i5-12600H) ~$33/yr idle
27 W
95 W
MS-A2 (Ryzen 7745HX) ~$43/yr idle
35 W
140 W
Annual cost at $0.14/kWh, 24/7. Full specs in our mini PC guide. techfuelhq.com

Step 4: Post-Install Configuration (10 Minutes)

The console screen shows something like: https://192.168.1.200:8006. Open that in a browser on your other computer. You'll get a certificate warning — that's normal, Proxmox uses a self-signed cert. Accept it and proceed.

Log in as root with the password you set. You're now in the Proxmox web UI. Before you touch anything else, fix the repositories.

Fix the Repositories (Two Clicks in the Web UI)

A fresh Proxmox VE 9 install points at the enterprise repository, which needs a paid subscription. Until you swap it, every update throws an authentication error. This is the single most common gotcha for new Proxmox users — and on PVE 9 it's a two-click fix in the web UI, no shell required:

  1. Go to Datacenter > your node > Updates > Repositories.
  2. Select the pve-enterprise row (and the ceph … enterprise row if present) and click Disable.
  3. Click Add, choose No-Subscription from the dropdown, and confirm.
  4. Back on the Updates tab, click Refresh, then Upgrade.

The web UI writes the correct files for you. The no-subscription repo is fine for home use — it's the same packages, just without the enterprise support SLA.

Or Do It From the Shell — But Use the Right Format

Proxmox VE 9 is built on Debian 13 ("trixie") and ships the modern deb822 .sources format — not the one-line .list files you'll still see in most guides written before 2025. Writing a bookworm .list file (the old PVE 8 method) silently does nothing on 9: the enterprise repo stays enabled and apt update keeps failing. Here's the version that actually works:

# 1. Disable the enterprise repo (it lives in a deb822 .sources file on 9)
sed -i '/Components: pve-enterprise/a Enabled: false' \
  /etc/apt/sources.list.d/pve-enterprise.sources
# (do the same for the ceph enterprise repo if it exists)
sed -i '/Components: ceph .*enterprise/a Enabled: false' \
  /etc/apt/sources.list.d/ceph.sources 2>/dev/null
#
# 2. Add the free no-subscription repo (deb822 format, trixie suite)
cat > /etc/apt/sources.list.d/proxmox.sources <<'EOF'
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: trixie
Components: pve-no-subscription
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
#
# 3. Update and upgrade
apt update && apt full-upgrade -y

Upgrading an older box to 9 and staring at leftover .list files? Run apt modernize-sources once — it converts them to the new .sources layout and stops apt from nagging about the legacy format.

Remove the Subscription Nag (Optional)

Every time you log into the web UI, Proxmox shows a popup reminding you to buy a subscription. It's annoying but harmless. Community scripts exist to remove it, but they break on every update. My advice: just click "OK" and move on. It takes one second and it doesn't affect functionality.

Check the ZFS ARC Limit (If You Used ZFS)

ZFS keeps a RAM read-cache called ARC, and the internet is full of "ZFS ate half my memory" horror stories. Good news: those are out of date. Since Proxmox VE 8.1, a fresh install already caps ARC at 10% of installed RAM (max 16 GB) and writes that limit to /etc/modprobe.d/zfs.conf for you. Verify it's there:

cat /etc/modprobe.d/zfs.conf
# a fresh PVE 9 install shows: options zfs zfs_arc_max=...

Two cases where you still touch this:

  • You upgraded an old box to 9 — pre-8.1 systems keep the legacy 50%-of-RAM behavior and have no zfs.conf entry, so set one yourself.
  • You want a different split — on a 16 GB mini PC the 10% default (~1.6 GB) can be stingy for a storage-heavy pool; on a 64 GB box you may want more than the 16 GB cap. Tune it:
# Example: cap ARC at 4 GB (4 * 1024^3 bytes)
echo "options zfs zfs_arc_max=4294967296" > /etc/modprobe.d/zfs.conf
update-initramfs -u   # only needed if your ROOT filesystem is ZFS
reboot

Rule of thumb: leave the 10% default alone unless a specific workload actually benefits from a bigger cache. On a mini PC where RAM is the scarce resource, ARC is a knob to keep modest — not a fire to put out.

Step 5: Network Bridge Configuration (5 Minutes)

Proxmox created vmbr0 during installation, bridged to your first NIC. Every VM and container you create will use this bridge to reach the network by default. For a single-NIC mini PC like the Beelink SER8, you're done — everything shares that one interface.

For multi-NIC mini PCs like the MS-01 (which has four ports — two 10GbE SFP+ and two 2.5GbE RJ45), you'll want additional bridges.

In the web UI: go to your node > System > Network > Create > Linux Bridge. Name it vmbr1, select the second physical interface, and optionally assign it to a VLAN or separate subnet. Common patterns:

  • vmbr0 on the 2.5GbE port — management + general VM traffic
  • vmbr1 on a 10GbE SFP+ port — dedicated storage or inter-node traffic
  • vmbr2 on the second 2.5GbE — WAN interface for a pfSense/OPNsense VM

Don't overcomplicate this on day one. One bridge works. Add more when you have a specific reason.

Step 6: Understanding Storage Layout

After a default ext4 install, you'll see two storage entries in the web UI:

  • local — a directory on the boot drive. Stores ISO images, container templates, backups, and snippets. Think of it as the file shelf.
  • local-lvm — an LVM-thin pool on the boot drive. Stores VM disks and container root filesystems. This is where your actual workload data lives.

Upload your ISO images (Ubuntu, Debian, Windows) to local via the web UI: select the "local" storage > ISO Images > Upload. Container templates download directly through the UI: select "local" > CT Templates > Templates.

If you have a second NVMe or SSD, you can create an additional storage pool for VM disks. In the shell:

# Create a new directory storage on a second drive
# (assuming it's mounted at /mnt/data)
pvesm add dir data-store --path /mnt/data --content images,rootdir

For ZFS users: your pool was created during installation. Proxmox auto-registers it. You can create additional datasets for different workloads via the CLI or the web UI.

Step 7: Create Your First VM (10 Minutes)

Click "Create VM" in the top right of the web UI. Here are the settings that matter:

  1. General — give it a name. VM IDs auto-increment from 100.
  2. OS — select the ISO you uploaded. Set the OS type (Linux or Windows).
  3. System — leave defaults for Linux. For Windows 11: set Machine to q35, BIOS to OVMF (UEFI), and add a TPM. Check "Qemu Agent" if you'll install it in the guest.
  4. Disks — allocate disk space on local-lvm. 32GB is fine for a test Linux VM. Use VirtIO Block for the bus — it's the fastest option for Linux guests. Windows needs VirtIO drivers loaded during install (download the VirtIO ISO from the Proxmox wiki).
  5. CPU — set the type to "host" for best performance. Allocate 2 cores to start. You can change this later without rebuilding the VM.
  6. Memory — 2048MB (2GB) for a minimal Linux VM. 4096MB for anything you want to actually use. Enable ballooning to let Proxmox reclaim unused memory.
  7. Network — bridge vmbr0, model VirtIO. That's the fast paravirtualized NIC.

Click Finish. Start the VM. Open the Console tab and you'll see the OS installer booting. Install your OS as normal.

After the OS is installed, install the QEMU Guest Agent inside the VM (apt install qemu-guest-agent on Debian/Ubuntu). This lets Proxmox see the guest's IP address, run graceful shutdowns, and freeze the filesystem for consistent snapshots.

Step 8: Create Your First LXC Container (5 Minutes)

LXC containers are the reason most homelabbers prefer Proxmox over ESXi. They share the host kernel, start in seconds, and use a fraction of the RAM a full VM needs. A container running Pi-hole uses maybe 50–80MB. The same service in a VM needs a full guest OS consuming 512MB+.

Click "Create CT" in the top right. The process:

  1. General — set a hostname and a root password. Check "Unprivileged container" (the default and the secure option).
  2. Template — select a template from local storage. If you haven't downloaded one yet, go to local > CT Templates > Templates and grab "debian-12-standard" or "ubuntu-24.04-standard."
  3. Disks — 8GB is plenty for a lightweight service. Allocate more if the container will store data.
  4. CPU — 1 core is fine for most containers. Pi-hole, Uptime Kuma, a reverse proxy — they don't need more.
  5. Memory — 512MB for light services. 1024MB if you're running something heavier.
  6. Network — bridge vmbr0, DHCP or static IP. Same network as your VMs.

Click Finish. Start it. Open the Console. You're inside a Debian or Ubuntu environment in under ten seconds. Install Docker, deploy a service, and you're self-hosting. The self-hosting essentials guide covers what to run first.

If You're Running Docker in This Container

For Docker to work inside an unprivileged LXC, you need to enable nesting. In the web UI: select the container > Options > Features > check "Nesting." Alternatively, from the Proxmox shell:

# Enable nesting and keyctl for container 101
pct set 101 -features nesting=1,keyctl=1

Restart the container. Docker will now install and run without errors. Confirm the overlay2 storage driver is active with docker info | grep Storage.

Proxmox setup checklist
Check off each step as you go · Progress saves in your session
Progress 0%

Common Gotchas That Trip Up New Users

The Web UI Uses HTTPS on Port 8006

The URL is https://YOUR-IP:8006. Note the https and the :8006. If you type http:// (no S) or forget the port number, the page won't load and you'll think the install failed. It didn't. Fix your URL.

The Enterprise Repo Error

If you see 401 Unauthorized when running apt update, you haven't swapped the repos yet (Step 4). Disable the enterprise repo and add the no-subscription one. If you tried the shell method and it did nothing, you probably used the old bookworm .list format — PVE 9 needs the deb822 .sources file.

VMs Won't Start — "KVM Not Available"

VT-x or VT-d isn't enabled in BIOS. Reboot, enter BIOS, enable it (Step 1). This is the #1 reason VMs fail to start on a fresh install.

Container Networking Broken After Reboot

Usually means the bridge (vmbr0) lost its configuration. Check /etc/network/interfaces on the Proxmox host — the bridge definition should be there. If you edited it manually and made a typo, networking breaks silently. The web UI's network editor is safer for beginners.

ZFS Ate All My RAM

Almost always an older box you upgraded to 9 — fresh PVE 9 installs cap ARC at 10% automatically. Check /etc/modprobe.d/zfs.conf; if it's empty, ZFS is running on the legacy 50%-of-RAM default. Set a limit (Step 4) and reboot.

Who Should Do This

This tutorial is for you if:

  • You've got a mini PC sitting on your desk and you want to turn it into a real homelab
  • You want to learn VM and container management on the same hypervisor used in production environments
  • You're ready to self-host services and need the infrastructure to run them
  • You chose Proxmox over ESXi and need the actual setup walkthrough

Skip this if:

  • You only need to run two Docker containers — install Docker directly on Ubuntu, you don't need a hypervisor
  • You want a NAS with an appliance interface — look at TrueNAS or Unraid instead

What You've Built

You've got a Proxmox hypervisor running on a mini PC that idles at 15–35 watts. You've got a VM running a full operating system and an LXC container ready for Docker services. You've got the correct repos configured, storage layout understood, and network bridge operational.

That's a real homelab. Not a theoretical one. A box on your desk running actual workloads and teaching you actual infrastructure skills — the same KVM, LXC, ZFS, and Linux networking concepts used in production data centers.

The next step is deploying services. Start with Pi-hole for DNS ad blocking — you'll notice the difference immediately. Then Uptime Kuma for monitoring. Then whatever else your household needs.

The foundation is solid. Build on it.

Key takeaways: the best mini PC for Proxmox

  • Best for 10GbE homelabs: the Minisforum MS-01 ($423, dual 10GbE SFP+ plus two 2.5GbE ports) — the pick when you want fast storage or inter-node networking.
  • Best for low idle power: the ASUS NUC 14 Pro, or the Beelink SER8 ($499) at 7–10W idle if you want the lowest 24/7 running cost.
  • Best value path: a used HP EliteDesk 800 G4 Mini — the cheapest way onto Proxmox if you’re starting from scratch.
  • Minimum specs that work: any x86-64 mini PC with 16 GB+ RAM (8 GB bare minimum, 16 GB+ for ZFS), an NVMe/SSD boot drive, and wired Ethernet. All three picks run Proxmox VE 9 cleanly.
  • Real-world idle draw: a Proxmox mini PC idles around 15–35W, roughly $10–$43/year at $0.14/kWh running 24/7.

Sources and methodology

Step-by-step procedure validated against Proxmox VE 9 documentation and tested on representative mini-PC class hardware.

Primary sources cited:

Email corrections to hello@techfuelhq.com.


After Proxmox is running: the ZFS pool setup guide covers creating RAIDZ1/mirror pools and tuning ARC for a shared host. The Docker Compose starter stack gets NPM, Portainer, and Uptime Kuma running in an LXC with working compose files. The Proxmox Backup Server guide is the 3-2-1 backup setup for your new VMs. The Proxmox VM Capacity Planner tells you how many VMs your mini PC can realistically run.

Frequently asked questions

How long does it actually take to install Proxmox on a mini PC?
From USB plug-in to first VM running is 40–60 minutes if you’re following along, including the first apt full-upgrade pass. A second machine, with practice, is closer to 25 minutes. The slow part is the apt upgrade, not the install itself.
Do I need to pay for Proxmox?
No. The community repository (pve-no-subscription) is free with full features. Optional paid subscriptions from 120 euros per year per CPU socket get you the stable enterprise repo and email support. Most homelabbers run the no-subscription repo indefinitely.
What mini PC should I install Proxmox on?
In 2026, the Minisforum MS-01 for 10GbE-equipped homelabs, the ASUS NUC 14 Pro for low idle, or a used HP EliteDesk 800 G4 Mini for the value path. All three handle Proxmox cleanly.
VM or LXC for a self-hosted app?
LXC for everything that runs natively on Linux — it’s faster, lighter, and starts in seconds. VM for anything Windows, anything that needs a kernel module not in the host kernel, or anything you want to fully isolate. The split is usually 70/30 LXC/VM in a real homelab.
How do I back up my Proxmox VMs?
Built in. Datacenter then Backup. Pick a target (a NAS share via NFS/SMB or a local USB disk), set the schedule, set retention. Proxmox Backup Server is the optional dedicated backup target if your VM count grows past around 10.
Can I cluster two mini PCs running Proxmox?
Yes — the cluster feature is free on the no-subscription repo. Two nodes is the minimum, three is the recommended floor (quorum needs an odd number to handle node failures cleanly). You can run a Raspberry Pi as the third quorum vote (QDevice) if a third full node isn’t in the budget.

Evidence ledger

Last updated
Methodology
This guide was written and edited by Lowell K. Wood IV. Specs and prices verified against vendor and project documentation current on the date above. Full editorial standard: methodology.
Update log
  • 2026-07-12 — Craftsman upgrade. Corrected the repository swap to Proxmox VE 9 / Debian 13 trixie (deb822 .sources format) — the old bookworm .list method silently fails on 9. Updated ZFS ARC guidance for the PVE 8.1+ 10%-of-RAM default. Added a signature time-mapped install timeline, converted the power chart to a self-contained (no external CDN) visual. Verified against pve.proxmox.com Package Repositories + ZFS on Linux wiki.
  • 2026-05-06 — Voice cleanup as part of AdSense hardening pass — removed lead-in filler before step list.
  • 2026-03-31 — Initial publish.
Corrections
Spotted an error or a stale number? Email hello@techfuelhq.com. Confirmed corrections are added to the update log above.

About the author

Written by Lowell K. Wood IV, who builds and runs TechFuelHQ from St. Louis, Missouri.