# 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>

```

4. 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}

\---