[GUIDE] Install Home Assistant OS in a VM

So just like my other guide, this is more for my own records so I can come back and refer to it.

I know there are scripts for these things, but I prefer doing them manually so I can learn along the way.

Maybe it can help someone else in the future.




Obtain the VM image

- Navigate to the installation page on the HA website: https://www.home-assistant.io/installation/alternative

- Simply right-click the KVM/Proxmox link and copy the address

- In your Proxmox console, use wget to download the file

Bash:
wget <ADDRESS>

- Expand the compressed image

Bash:
unxz </path/to/file.qcow2.xz>




Create the VM

General:
- Select your VM name and ID
- Select 'start at boot'

OS:
- Select 'Do not use any media'

System:
- Change 'machine' to 'q35'
- Change BIOS to OVMF (UEFI)
- Select the EFI storage (typically local-lvm)
- Uncheck 'Pre-Enroll keys'

Disks:
- Delete the SCSI drive and any other disks

CPU:
- Set minimum 2 cores

Memory:
- Set minimum 4096 MB

Network:
- Leave default unless you have special requirements (static, VLAN, etc)


Confirm and finish. Do not start the VM yet.




Add the image to the VM

- In your node's console, use the following command to import the image from the host to the VM

Bash:
qm importdisk <VM ID> </path/to/file.qcow2> <EFI location>

For example,

Bash:
qm importdisk 205 /home/user/haos_ova-12.0.qcow2 local-lvm


- Close the node's console and select your HA VM

- Go to the 'Hardware' tab

- Select the 'Unused Disk' and click the 'Edit' button

- Check the 'Discard' box if you're using an SSD then click 'Add'

- Select the 'Options' tab

- Select 'Boot Order' and hit 'Edit'

- Check the newly created drive (likely scsi0) and uncheck everything else



Finish Up

- Start the VM

- Check the shell of the VM. If it booted up correctly, you should be greeted with the link to access the Web UI.

- Navigate to <VM IP>:8123

Done. Everything should be up and running now.
I did use the community script first but I also wanted to do the install manually on my Proxmox server. Thanks so much for posting. This is exactly what I was looking for and the install worked flawlessly. I've done similar OS installs like this but can never remember all the steps. Definitely saving this for future reference.
 
So just like my other guide, this is more for my own records so I can come back and refer to it.

I know there are scripts for these things, but I prefer doing them manually so I can learn along the way.

Maybe it can help someone else in the future.




Obtain the VM image

- Navigate to the installation page on the HA website: https://www.home-assistant.io/installation/alternative

- Simply right-click the KVM/Proxmox link and copy the address

- In your Proxmox console, use wget to download the file

Bash:
wget <ADDRESS>

- Expand the compressed image

Bash:
unxz </path/to/file.qcow2.xz>




Create the VM

General:
- Select your VM name and ID
- Select 'start at boot'

OS:
- Select 'Do not use any media'

System:
- Change 'machine' to 'q35'
- Change BIOS to OVMF (UEFI)
- Select the EFI storage (typically local-lvm)
- Uncheck 'Pre-Enroll keys'

Disks:
- Delete the SCSI drive and any other disks

CPU:
- Set minimum 2 cores

Memory:
- Set minimum 4096 MB

Network:
- Leave default unless you have special requirements (static, VLAN, etc)


Confirm and finish. Do not start the VM yet.




Add the image to the VM

- In your node's console, use the following command to import the image from the host to the VM

Bash:
qm importdisk <VM ID> </path/to/file.qcow2> <EFI location>

For example,

Bash:
qm importdisk 205 /home/user/haos_ova-12.0.qcow2 local-lvm


- Close the node's console and select your HA VM

- Go to the 'Hardware' tab

- Select the 'Unused Disk' and click the 'Edit' button

- Check the 'Discard' box if you're using an SSD then click 'Add'

- Select the 'Options' tab

- Select 'Boot Order' and hit 'Edit'

- Check the newly created drive (likely scsi0) and uncheck everything else



Finish Up

- Start the VM

- Check the shell of the VM. If it booted up correctly, you should be greeted with the link to access the Web UI.

- Navigate to <VM IP>:8123

Done. Everything should be up and running now.
Thxalot Sir!