Home Assistant on Proxmox: The Complete Setup Guide

Proxmox VE turns any old PC or mini server into a powerhouse that runs Home Assistant alongside everything else you need. Here's how to set it up properly, from initial install to USB passthrough, backups, and companion services.

Check Your Setup Docker Guide

Why Proxmox for Home Assistant?

Proxmox VE is a free, open-source hypervisor built on Debian. It lets you run multiple virtual machines and containers on a single box. For home automation, that means Home Assistant gets its own isolated VM while you run other services alongside it.

What Makes Proxmox Great

  • Run HA OS in a VM with full Supervisor and add-ons
  • Add Pi-hole, Plex, NAS, and more without buying extra hardware
  • VM-level snapshots let you roll back bad updates instantly
  • USB passthrough for Zigbee/Z-Wave dongles works reliably
  • Web-based management from any browser on your network
  • Free and open source, no license fees

The Tradeoffs

  • More complex than installing HA OS directly on hardware
  • Slight virtualization overhead (barely noticeable on modern hardware)
  • Requires an x86 machine (no Raspberry Pi support)
  • Initial setup takes 30 to 60 minutes instead of 10
  • Another system to maintain and keep updated

The honest take: If you only want Home Assistant and nothing else, skip Proxmox. Install HA OS directly on a Home Assistant Green or mini PC. But if you're the kind of person who will end up running a dozen services on your home server (and you probably are, if you're reading this), Proxmox pays for itself in flexibility within the first month.

Proxmox vs Docker vs Bare Metal

FeatureProxmox VMDockerBare Metal (HA OS)
Add-on Storeโœ… FullโŒ Manual containersโœ… Full
Run other servicesโœ… VMs + LXCsโœ… ContainersโŒ HA only
VM-level snapshotsโœ… Instant rollbackโŒโŒ
Setup complexityMediumMediumEasy
Resource overhead~512MB for Proxmox~100MB for DockerNone
Service isolationโœ… Full VM isolationPartial (shared kernel)N/A
USB passthroughโœ… Device or portโœ… Device mappingโœ… Native

Recommended Hardware

Proxmox needs an x86 machine with VT-x and VT-d support. Here are three good starting points.

๐Ÿ’ฐ

Budget: ~$100

Old office PC or Dell OptiPlex

  • Intel i5 4th gen or newer
  • 8GB RAM (upgrade to 16 later)
  • 128GB SSD (add a bigger drive for storage)
  • Perfect for: HA + a few light services
โญ

Sweet Spot: ~$200

Intel N100 mini PC (Beelink, MinisForum)

  • Intel N100 (4 cores, very efficient)
  • 16GB RAM
  • 512GB NVMe SSD
  • 10W idle power draw
  • Perfect for: HA + 5 to 10 services
๐Ÿš€

Power User: ~$400+

Intel NUC or custom build

  • Intel i5/i7 12th gen or AMD Ryzen
  • 32GB+ RAM
  • 1TB NVMe + extra drives for storage
  • Perfect for: HA + Frigate + NAS + media server

The N100 is the sweet spot for most people. It draws about 10 watts at idle (roughly $15/year in electricity), has enough power for Home Assistant plus a handful of other services, and fits on a shelf. If you plan to run Frigate for AI camera detection, consider the power user tier since Frigate benefits from a Coral TPU and more CPU headroom.

Step 1: Install Proxmox VE

1. Download and Flash

Download the Proxmox VE ISO from proxmox.com/downloads. Flash it to a USB drive using Balena Etcher or Rufus. Boot your server from the USB.

2. Run the Installer

The graphical installer walks you through disk selection, timezone, and network config. Pick your SSD as the target disk. Set a strong root password. For the network, use a static IP so your server always has the same address on your network.

3. Access the Web Interface

After installation completes and the server reboots, open a browser on any computer on your network and go to https://YOUR-IP:8006. Log in with root and the password you set. Ignore the "no valid subscription" popup, it's just a reminder that you're using the free version.

4. Post-Install Tweaks

Before creating any VMs, do these three things:

  • Disable the enterprise repo (you're not paying for a subscription). Go to the host node, then Updates, then Repositories. Disable the enterprise repo and add the no-subscription repo.
  • Run updates: In the host shell, run apt update && apt full-upgrade -y
  • Enable IOMMU if you plan to pass through PCI devices (like a Coral TPU). Edit /etc/default/grub and add intel_iommu=on (or amd_iommu=on) to the GRUB_CMDLINE_LINUX_DEFAULT line.

Step 2: Create the Home Assistant VM

The recommended approach is running Home Assistant OS as a virtual machine. You get the full experience: Supervisor, add-ons, automatic updates, and managed backups.

1. Download the HA OS Image

Go to the Home Assistant installation page and download the qcow2 image for "Linux/KVM". Transfer it to your Proxmox server using SCP or the web interface upload.

# On your Proxmox host shell: cd /var/lib/vz/template/ wget https://github.com/home-assistant/operating-system/releases/download/14.2/haos_ova-14.2.qcow2.xz xz -d haos_ova-14.2.qcow2.xz

Check the releases page for the latest version number.

2. Create the VM Shell

In the Proxmox web UI, click "Create VM" and use these settings:

  • General: Name it "homeassistant" or "haos"
  • OS: Select "Do not use any media"
  • System: Machine: q35, BIOS: OVMF (UEFI), add EFI disk, uncheck "Pre-Enroll keys"
  • Disks: Delete the default disk (you'll import the qcow2 instead)
  • CPU: 2 cores minimum (4 recommended)
  • Memory: 2048MB minimum (4096 recommended)
  • Network: Bridge vmbr0, model VirtIO

3. Import the Disk Image

In the Proxmox host shell, import the qcow2 image into your VM. Replace 100 with your VM ID.

qm importdisk 100 /var/lib/vz/template/haos_ova-14.2.qcow2 local-lvm

After the import, go to the VM's Hardware tab. You'll see an "Unused Disk." Double-click it, set the bus to SCSI (with VirtIO SCSI controller), and click Add. Then go to Options, set Boot Order to boot from this disk first.

4. Resize the Disk

The default image is only 32GB. If you plan to use many add-ons or store a lot of history, resize it:

# Add 32GB more (total: 64GB) qm resize 100 scsi0 +32G

HA OS will automatically expand to use the extra space on next boot.

5. Start and Connect

Start the VM. Watch the console in Proxmox. After a few minutes, you'll see a message showing the HA URL. Open http://homeassistant.local:8123 (or the IP shown) in your browser to complete the onboarding wizard.

USB Passthrough for Zigbee and Z-Wave

Your Zigbee or Z-Wave coordinator dongle plugs into the Proxmox host, not the VM. You need to pass it through.

Find Your Device

SSH into your Proxmox host and run:

lsusb # Look for your dongle, e.g.: # Bus 001 Device 003: ID 1a86:55d4 QinHeng Electronics SkyConnect ls -l /dev/serial/by-id/ # Shows persistent device paths

Add USB Device to VM

In the Proxmox web UI: select your HA VM, go to Hardware, click Add, then USB Device. Choose "Use USB Vendor/Device ID" and select your dongle from the dropdown. This method survives reboots and reconnects automatically.

Alternatively, use the command line:

qm set 100 -usb0 host=1a86:55d4

Common Gotcha

If the VM can't see the USB device after adding it, shut down the VM completely (not just reboot) and start it again. Hot-plugging USB devices works sometimes, but a full stop/start is more reliable for the initial setup.

The LXC Alternative

Some people prefer running Home Assistant in an LXC container instead of a VM. Here's when that makes sense.

LXC Pros

  • Lower resource usage (no full OS overhead)
  • Starts in seconds instead of 30+ seconds
  • Direct hardware access without passthrough configuration
  • Great for the HA Container install method

LXC Cons

  • No Supervisor (no add-on store)
  • Manual updates and backups
  • Not officially supported by the HA team
  • Troubleshooting is harder when things break

The recommendation: Use the VM approach unless you have a very specific reason for LXC. The small extra resource usage is worth the convenience of add-ons and managed updates. If you're on extremely limited hardware (under 4GB RAM total), LXC might be your only option, but consider upgrading the RAM instead.

Popular Companion Services

Half the fun of Proxmox is running other stuff alongside Home Assistant. Here's what the community typically adds.

Nginx Proxy Manager

LXC container. Handles SSL certificates and remote access with a web GUI. Way easier than editing nginx configs by hand.

Pi-hole / AdGuard Home

LXC container. Network-wide ad blocking and DNS management. Also useful for blocking IoT devices from phoning home.

Plex / Jellyfin

VM or LXC. Media server for movies and TV. Pairs well with HA for media player automations.

Frigate NVR

VM or LXC with Coral TPU passthrough. AI-powered camera recording and object detection. This is the main reason people go power user tier.

Grafana + InfluxDB

LXC container. Long-term data storage and beautiful dashboards for energy usage, temperature history, and more.

Proxmox Backup Server

VM. Dedicated backup solution that does incremental, deduplicated backups of all your VMs and containers. Free and very efficient.

WireGuard / Tailscale

LXC container. VPN for secure remote access to your entire home network, not just Home Assistant.

TrueNAS / Samba

VM with disk passthrough. Network file storage for your whole household. Some people run TrueNAS as the base OS and Proxmox inside, but that's another rabbit hole entirely.

Tip: Use Proxmox community scripts. The Proxmox VE Helper Scripts project (formerly tteck scripts) has one-liner installers for most of these services. They create properly configured LXC containers in minutes. Just make sure you review what each script does before running it.

Backups: Your Safety Net

Running HA on Proxmox gives you two backup layers. Use both.

Layer 1: Home Assistant Backups

HA's built-in backup system saves your configuration, automations, dashboards, and add-on data. Schedule these daily. Use the Google Drive or Samba add-on to copy them off the VM automatically.

Layer 2: Proxmox VM Snapshots and Backups

This is the real power move. Proxmox can snapshot the entire VM state, including the OS, disk, and memory.

  • Snapshots are instant and let you roll back to that exact moment. Take one before every HA update. If the update breaks something, roll back in seconds.
  • Scheduled backups using vzdump run nightly and store compressed copies of the entire VM. Configure these under Datacenter, Backup in the Proxmox UI.
  • Proxmox Backup Server (if you set it up) does incremental backups that only transfer what changed since last time.

Don't Skip Offsite Backups

Snapshots and local backups protect you from bad updates and config mistakes. They don't protect you from hardware failure, theft, or a power surge frying the drive. Copy your backups to an external drive, NAS, or cloud storage at least weekly.

Performance Tips

Use VirtIO Everywhere

Set the network adapter and disk controller to VirtIO. It's paravirtualized, meaning less overhead than emulated hardware. HA OS supports it natively.

SSD Storage Only

Home Assistant writes thousands of small database entries per day. Running it on a spinning disk makes everything sluggish. Use an SSD or NVMe drive for the VM storage.

Don't Over-Allocate RAM

2GB is fine for a basic HA setup. 4GB is comfortable with many add-ons. Don't give HA 8GB "just in case" if other VMs need the memory. You can always increase it later.

Enable Ballooning

Memory ballooning lets the VM give unused RAM back to Proxmox. Set a minimum (e.g. 1024MB) and maximum (e.g. 4096MB). HA will use what it needs and release the rest.

CPU Type: Host

Set the CPU type to "host" instead of the default "kvm64". This exposes your actual CPU features to the VM, which can improve performance for certain workloads.

Start on Boot

In VM Options, enable "Start at boot" and set the startup order. Give HA a boot delay of 30 seconds so your network services (Pi-hole, etc.) start first.

Your Weekend Setup Plan

1

Saturday Morning: Install Proxmox (30 min)

Flash the ISO, run the installer, configure networking. Log in to the web UI and run updates.

2

Saturday Afternoon: Create HA VM (45 min)

Download the image, create the VM, import the disk, set up USB passthrough for your dongle. Complete the HA onboarding.

3

Saturday Evening: Add Your Devices (1 to 2 hours)

Start pairing devices. Set up your Zigbee network. Create your first automations.

4

Sunday: Add Companion Services (varies)

Set up Pi-hole, configure backups, add any other LXC containers you want. Set everything to start on boot.

Not Sure What Devices to Start With?

Run our free compatibility scan to see which of your current smart home devices work with Home Assistant, and which ones might need replacing.

Scan Your Devices Free

Frequently Asked Questions

Should I run Home Assistant in a Proxmox VM or LXC container?

Use a VM for Home Assistant OS. It gives you the full Supervisor experience with one-click add-ons, automatic updates, and managed backups. LXC containers use fewer resources but require the Container install method, which means no add-on store and more manual work. For most people, the VM approach is worth the small extra overhead.

What hardware do I need for Home Assistant on Proxmox?

At minimum, an Intel N100 mini PC or equivalent with 8GB RAM and a 256GB SSD. Home Assistant itself needs about 2GB RAM and 32GB storage in its VM. The rest is available for other VMs and containers. Any 64-bit x86 CPU with VT-x/VT-d support works. Avoid Raspberry Pi since Proxmox does not officially support ARM.

How do I pass USB devices like Zigbee dongles to the VM?

In the Proxmox web interface, select your HA VM, go to Hardware, click Add, then USB Device. Choose "Use USB Vendor/Device ID" and select your dongle. This method reconnects automatically even if you unplug and replug the device. Find your device IDs by running lsusb on the Proxmox host.

Can I run other services alongside Home Assistant?

That's the whole point of Proxmox. Run HA OS in one VM while other services live in separate VMs or LXC containers. Common companions include Pi-hole, Plex/Jellyfin, Nginx Proxy Manager, Grafana, WireGuard, and Frigate NVR. Each service gets its own isolated environment.

Is Proxmox overkill for just Home Assistant?

If Home Assistant is truly the only thing you'll run, then yes. Just install HA OS directly on the hardware. But most people who set up a home server end up running more services within a few months. Proxmox makes it trivial to add new VMs and containers without reinstalling anything.

How do I update Proxmox and Home Assistant?

Update them separately. For Proxmox, run apt update && apt full-upgrade on the host (after checking release notes). For Home Assistant, update through the Supervisor in the HA web UI, just like a bare metal install. Take a Proxmox snapshot before updating either one so you can roll back instantly.

Can I pass through a Coral TPU for Frigate?

Yes. USB Coral TPUs work with standard USB passthrough (same as Zigbee dongles). PCIe Coral TPUs require PCI passthrough with IOMMU enabled. The USB version is much simpler to set up. If you run Frigate in its own VM or LXC, pass the Coral to that container, not the HA VM.