Skip to main content

Install Home Assistant OS in a VM (Proxmox)


This is a manual guide to install Home Assistant OS (HAOS) in a VM under Proxmox VE, adapted from the Proxmox forum thread. :contentReference[oaicite:1]{index=1}

---

1. Obtain the VM image

  1. Go to the HA installation page’s “Alternative” section on the official site. :contentReference[oaicite:2]{index=2}
  2. Right-click the KVM/Proxmox link and copy the URL. :contentReference[oaicite:3]{index=3}
  3. Open shell on your Proxmox host and run:

wget <URL-you-copied>
  1. After download, decompress the image:

unxz /path/to/file.qcow2.xz

---

2. Create the VM

Using the Proxmox web interface:

  • General: Choose a VM name and ID; enable “Start at boot.” :contentReference[oaicite:4]{index=4}
  • OS: Select “Do not use any media.” :contentReference[oaicite:5]{index=5}
  • System:
        - Set “Machine” to q35
        - Set “BIOS” to OVMF (UEFI)
        - Select EFI storage (e.g. local-lvm)
        - Uncheck “Pre-Enroll keys” (disable secure boot) :contentReference[oaicite:6]{index=6}
  • Disks: Delete the automatically added SCSI drive (and any other default disks). :contentReference[oaicite:7]{index=7}
  • CPU: Assign at least 2 cores. :contentReference[oaicite:8]{index=8}
  • Memory: Assign at least 4096 MB (4 GB). :contentReference[oaicite:9]{index=9}
  • Network: Default settings are fine unless you need VLANs, static IP, etc. :contentReference[oaicite:10]{index=10}

Do NOT start the VM yet.

---

3. Add the HAOS image to the VM

From the Proxmox host shell, run:


qm importdisk <VMID> /path/to/haos_*.qcow2 <storage-name>

Example (if your VM ID is 205 and storage is local-lvm):


qm importdisk 205 /root/haos_ova-12.0.qcow2 local-lvm

:contentReference[oaicite:11]{index=11}

Then, back in the Proxmox GUI:

  • Select the newly created VM → go to Hardware tab.
  • You’ll see an “Unused Disk” — select it and click Edit.
  • If using an SSD, check “Discard”; else just add the disk. :contentReference[oaicite:12]{index=12}
  • Go to the Options tab → Boot Order → click Edit.
  • Mark only the newly added disk (usually scsi0), and uncheck all other boot devices. :contentReference[oaicite:13]{index=13}

---

4. Final steps — start the VM

  1. Start the VM from the GUI. :contentReference[oaicite:14]{index=14}
  2. Open the VM's console — you should see boot-up messages and, if successful, a line indicating the URL to access HA’s web UI (usually http://<VM-IP>:8123). :contentReference[oaicite:15]{index=15}
  3. Navigate in your browser to http://<VM-IP>:8123 and complete the Home Assistant initial setup. :contentReference[oaicite:16]{index=16}

---

Notes / Troubleshooting

  • The VM must use UEFI (OVMF), and Secure Boot must be disabled (uncheck “Pre-Enroll keys”). :contentReference[oaicite:17]{index=17}
  • Make sure the disk you import becomes the boot disk via “Boot Order.” Otherwise, the VM might not boot. :contentReference[oaicite:18]{index=18}
  • If using SSD storage, enabling “Discard” (TRIM) can help with disk performance and longevity. :contentReference[oaicite:19]{index=19}
  • For USB passthrough (e.g. for Zigbee/Z-Wave dongles), you’ll need additional configuration — after HAOS VM is running, add the USB device via the Proxmox GUI under VM → Hardware → Add → USB Device. This step is not in the original guide but is commonly needed for Smart Home integrations. :contentReference[oaicite:20]{index=20}

---

Why this method?

Running HAOS as a VM under Proxmox lets you consolidate multiple services (Home Assistant, NAS, media servers, etc.) on a single (or few) host machine(s), optimizing resource usage. Snapshotting and backup features at the hypervisor level make it easier to recover from failed upgrades or configuration errors. :contentReference[oaicite:21]{index=21}

---