How to Set Up Proxmox on a Mini PC — Box to First VM in Under an Hour

You bought the mini PC. You've read the Proxmox vs ESXi comparison 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. Let's get into it.

What You Need Before You Start

  • A mini PC — any x86-64 machine works. The Minisforum MS-01 ($423, dual 10GbE) or Beelink SER8 ($729, 7–10W idle) are the picks from our mini PC guide. But an old laptop or desktop works too.
  • 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.

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 (8.x as of this writing). The file is about 1.2GB.

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.

Mini PCs running Proxmox — measured idle power
Whole-system watts at the wall · Proxmox VE installed with typical homelab workloads
Idle (watts) Typical load (watts) Annual idle cost
Annual cost at $0.14/kWh · 24/7 operation · See our mini PC guide for full specs
techfuelhq.com · March 2026

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.

Remove the Enterprise Repo (You Don't Have a Subscription)

By default, Proxmox points to the enterprise repository, which requires a paid subscription. Without one, every apt update throws an authentication error. Fix this immediately:

SSH into the box (or use the web UI's Shell tab) and run:

# Disable the enterprise repo
sed -i 's/^deb/#deb/' /etc/apt/sources.list.d/pve-enterprise.list

# Add the no-subscription (community) repo
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.list

# Update package lists
apt update && apt full-upgrade -y

This is the single most common gotcha for new Proxmox users. The no-subscription repo is fine for home use — it's the same packages, just without guaranteed enterprise support SLAs.

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.

Set ZFS ARC Limit (If You Used ZFS)

If you installed on ZFS, set an ARC memory limit now. Without this, ZFS ARC will consume as much RAM as it can get, starving your VMs and containers.

# Set ARC max to 4GB (adjust based on your total RAM)
echo "options zfs zfs_arc_max=4294967296" > /etc/modprobe.d/zfs.conf
update-initramfs -u
reboot

On a 16GB system, 4GB for ARC leaves 12GB for workloads. On 32GB, you can afford 8GB for ARC. Don't let it auto-scale — the default behavior surprises everyone exactly once.

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 forgot to swap the repos (Step 4). Go back and run those three commands.

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

You installed on ZFS and didn't set an ARC limit. The fix is in Step 4 above. Set it now before you add more workloads.

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.