Skip to main content
Mini PC Lab logo
Mini PC LabMini PCs for Homelabs
tutorials

How to Run Home Assistant on Proxmox 2026

By Max · May 2, 2026 · Updated August 6, 2026

This article contains affiliate links. If you purchase through our links, we may earn a commission at no extra cost to you. We only recommend products we’ve thoroughly researched and verified.

How to run Home Assistant on Proxmox 2026 hero image

Running Home Assistant OS in a Proxmox VM is the homelab-standard approach for users who want HAOS’s features — Supervisor, add-ons, straightforward updates — alongside the flexibility of running other services on the same mini PC. One mini PC can run HAOS for smart home, Plex for media, Pi-hole for DNS filtering, and Nextcloud for file sync simultaneously.

This guide covers the complete setup: Proxmox installation, HAOS VM creation, USB passthrough, and optimization.

Time required: 30-45 minutes
Difficulty: Intermediate


Hardware Requirements

MinimumRecommended
4GB RAM16GB RAM
4-core CPU8-core CPU
64GB storage256GB+ NVMe
1 NIC2 NICs

Recommended mini PCs for Proxmox + HAOS:

Mini PCWhy It WorksPrice
GEEKOM IT128 cores, 16-32GB DDR5, 3-year warranty~$280-350
Beelink EQ14Dual NICs, 16GB, low power~$180-200
Beelink SER98 cores, 32GB, ROCm for AI~$320-380

Part 1: Install Proxmox VE

Step 1: Download and Flash Proxmox ISO

  1. Download Proxmox VE 8.x ISO from proxmox.com/downloads
  2. Flash to USB with Balena Etcher
  3. Boot mini PC from USB press Delete/F7 during boot for boot menu

Step 2: Install Proxmox

The Proxmox installer is straightforward:

  1. Select “Install Proxmox VE Graphical”
  2. Target disk: select your internal NVMe
  3. Country and timezone: set your location
  4. Email: enter a real address used for alerts
  5. Network: set a static IP e.g., 192.168.1.10 — this is your permanent Proxmox address
  6. Complete installation and reboot

Remove USB drive when prompted. Proxmox boots in ~30 seconds.

Step 3: Initial Proxmox Setup

Access the web GUI at https://192.168.1.10:8006 your mini PC’s IP:

# Remove enterprise repository subscription nag (optional)
# In Proxmox shell (node → Shell):
sed -i 's|^deb|#deb|' /etc/apt/sources.list.d/pve-enterprise.list
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

Part 2: Create the HAOS VM

Step 4: Download the HAOS KVM Image

In Proxmox shell Node → Shell:

# Create a working directory
mkdir -p /tmp/haos && cd /tmp/haos

# Download the latest HAOS KVM image (check home-assistant.io for current version)
wget -O haos.qcow2.xz \
  "https://github.com/home-assistant/operating-system/releases/download/13.1/haos_ova-13.1.qcow2.xz"

# Decompress
xz -d haos.qcow2.xz
ls -lh haos.qcow2  # Should show ~1GB file

Check github.com/home-assistant/operating-system/releases for the current version number to replace 13.1 above.

Step 5: Create the VM

In Proxmox GUI Create VM button, top right:

General:

  • VM ID: 100 or any number
  • Name: home-assistant

OS:

  • Select “Do not use any media”

System:

  • Machine: q35
  • BIOS: OVMF UEFI
  • Add EFI Disk: checked
  • TPM: unchecked HAOS doesn’t need it

Disks:

  • Delete the default disk we’ll import HAOS image instead

CPU:

  • Cores: 4 minimum 2
  • Type: host enables full CPU feature passthrough

Memory:

  • 8192 MB 8GB — adjust based on your total RAM

Network:

  • Bridge: vmbr0
  • Model: VirtIO

Confirm: Create the VM don’t start yet.

Step 6: Import the HAOS Disk Image

In Proxmox Shell:

# Import HAOS image as VM 100's disk on local-lvm storage
qm importdisk 100 /tmp/haos/haos.qcow2 local-lvm

# This creates an unused disk — note the disk name (e.g., vm-100-disk-1)

Step 7: Attach the Imported Disk

In Proxmox GUI → VM 100 → Hardware:

  1. Find “Unused Disk 0” the imported HAOS image
  2. Double-click → Add
  3. Bus: SCSI, SCSI Controller: VirtIO SCSI
  4. Cache: Write Back
  5. Confirm

Then set boot order:

  • VM 100 → Options → Boot Order
  • Enable scsi0 the HAOS disk and move it to top
  • Disable any other boot devices

Step 8: Start the VM

  1. VM 100 → Start
  2. Open Console to watch boot progress
  3. HAOS boots in ~60-90 seconds
  4. Console shows the HAOS CLI with IP address

Part 3: Configure HAOS

Step 9: Access Home Assistant Web UI

  1. Navigate to http://homeassistant.local:8123
    OR use the IP shown in the Proxmox console
  2. Complete the HAOS onboarding wizard
  3. Create your account and set home location

Part 4: USB Passthrough for Zigbee/Z-Wave/Coral

Step 10: Pass Through USB Devices

For Zigbee coordinators, Z-Wave sticks, or Google Coral USB:

In Proxmox GUI:

  1. VM 100 → Hardware → Add → USB Device
  2. Select “Use USB vendor/device ID”
  3. Find your device in the dropdown plug it in first
  4. Add

The USB device appears in HAOS as if physically connected.

Verify in HAOS:

  • Settings → System → Hardware → shows USB device

For Zigbee2MQTT add-on: The SONOFF Zigbee dongle appears as /dev/ttyUSB0 or /dev/ttyACM0 in HAOS.


Part 5: Running Other Services Alongside HAOS

LXC Container for Docker Services

Create a separate LXC container for Docker workloads Plex, Nextcloud, Pi-hole that don’t need HAOS’s Supervisor:

# In Proxmox Shell — create Ubuntu 24.04 LXC container
pct create 101 local:vztmpl/ubuntu-24.04-standard_24.04-1_amd64.tar.zst \
  --hostname docker-host \
  --memory 4096 \
  --cores 2 \
  --storage local-lvm \
  --rootfs local-lvm:32 \
  --net0 name=eth0,bridge=vmbr0,ip=dhcp \
  --unprivileged 1

pct start 101
pct exec 101 -- bash -c "curl -fsSL https://get.docker.com | sh"

Resource Allocation Example 16GB Mini PC

VM/ContainerCPURAMUse
HAOS VM4 cores8GBHome Assistant + add-ons
Docker LXC2 cores4GBPlex, Pi-hole, Nextcloud
Proxmox host2 cores4GBHypervisor overhead
Total8 cores16GBFull homelab

Maintenance and Backup

HAOS VM Backup

In Proxmox GUI:

  1. Select VM 100 → Backup → Backup Now
  2. Mode: Snapshot fastest or Stop most consistent
  3. Backups store in /var/lib/vz/dump/ by default

HAOS also has its own backup system — use both for belt-and-suspenders protection.

HAOS Updates

Update HAOS normally through Settings → System → Updates. Proxmox VM-level updates are separate from HAOS content updates.


Troubleshooting

HAOS VM Won’t Start

  • Check that the EFI disk is configured System → Machine: q35, BIOS: OVMF
  • Verify the boot order shows scsi0 first
  • Check that the HAOS qcow2 image imported without errors

Can’t Access homeassistant.local

  • Verify the VM console shows a valid IP address
  • Try the IP directly instead of the hostname
  • Check that vmbr0 bridge is connected to your physical NIC Proxmox → Network

USB Device Not Showing in HAOS

  • Verify the device shows in Proxmox → Node → USB in the summary
  • Ensure the device was attached to the correct VM ID 100
  • Some USB dongles need to be re-plugged after VM passthrough is configured

Who Should Skip This Comparison

Frequently Asked Questions

Can I migrate from bare metal HAOS to Proxmox HAOS?

Yes. Create a backup in bare metal HAOS Settings → System → Backups. Set up Proxmox HAOS using this guide. On first HAOS boot, restore from the backup file. Your automations, entities, and history migrate completely.

Should I use HAOS in a VM or LXC container for better performance?

HAOS must run in a VM — not an LXC container. HAOS requires UEFI boot, dedicated kernel, and Supervisor access that LXC containers can’t provide. The VM overhead is minimal — HAOS runs as well in a Proxmox VM as on bare metal.

Can I run HAOS on the same Proxmox node as TrueNAS SCALE?

Yes, but with caveats. TrueNAS SCALE is itself a hypervisor — running it inside Proxmox as a VM nested virtualization is possible but complex. The better approach: run TrueNAS SCALE on dedicated hardware and HAOS on a separate mini PC.

How do I pass through the mini PC’s Ethernet NIC to the HAOS VM?

For PCIe passthrough of a NIC to the VM: Proxmox requires IOMMU enabled in BIOS. Add intel_iommu=on or amd_iommu=on to Proxmox’s GRUB kernel parameters. Then use PCIe Device Passthrough in the VM hardware settings. This gives HAOS direct access to a physical NIC — useful for the EQ14’s dual NICs one to HAOS, one to Docker LXC.

Can I run Home Assistant OS in Proxmox?

Yes. HAOS runs as a VM in Proxmox VE. The official method uses a pre-built HAOS KVM image. You import the image into Proxmox, create a VM from it, and boot — no OS installation required. HAOS in Proxmox behaves identically to HAOS on bare metal, including Supervisor and all add-ons.

Why run Home Assistant in Proxmox instead of bare metal?

Proxmox lets you run HAOS alongside other services on the same mini PC — Plex, Nextcloud, Pi-hole, and Docker containers in separate VMs or LXC containers. With bare metal HAOS, the entire mini PC is dedicated to Home Assistant. Proxmox gives you one box running everything, with HAOS isolated in its own VM for clean upgrades and backup.

How much RAM and CPU does Home Assistant need in Proxmox?

Assign HAOS 2 CPU cores and 4GB RAM minimum. For Frigate NVR as a HAOS add-on: 4 cores and 8GB RAM. The recommended allocation is 4 cores and 8GB RAM with the remaining cores and RAM available for other Proxmox VMs. On a 16GB mini PC, leave 2 cores and 4GB for the Proxmox hypervisor and other containers.

Can I pass a USB Zigbee dongle into the HAOS Proxmox VM?

Yes. USB passthrough in Proxmox lets the HAOS VM use a physical USB device. In Proxmox GUI: VM → Hardware → Add → USB Device. Select your Zigbee coordinator by vendor/product ID. The dongle appears in HAOS as if it were physically connected. This also works for Google Coral USB, Z-Wave sticks, and Bluetooth adapters.

Will my Home Assistant backups work if I move from Proxmox HAOS to bare metal HAOS?

Yes. HAOS backups are platform-independent. A backup created on Proxmox HAOS restores to bare metal HAOS and vice versa. This is one of HAOS’s major advantages — the backup contains your entire configuration, automations, and entity history.