How to Set Up Home Assistant on Proxmox

Share what you're reading!

In this tutorial, we’re going to look at how to set up Home Assistant on Proxmox so that you can get your own smart home running on Proxmox.

There are technically two different ways to install Home Assistant, and we’re going to look at both below.

The first way to is automated, meaning that you run a script and it will walk you through the different options that you can use. This is incredibly easy, however, many people don’t feel comfortable running scripts, so we’ll look at how to manually install it as well.

Why Would You Run Home Assistant as a Virtual Machine?

If you decide to install Home Assistant OS on Proxmox, the initial and biggest benefit is that you’ll be running the supervised version which offers you tons of options.

When you run a HAOS VM on Proxmox, it allows you to take advantage of the stability and performance benefits that come with running it in a VM. Using a VM allows you to isolate it from other applications, which prevents potential conflicts and improves overall system reliability.

Proxmox also allows you to use powerful features, like automated system backups and snapshots. These features make it easier to troubleshoot problems and recover your configuration if something goes wrong, which isn’t always easy with other Home Assistant install methods.

Finally, by using Proxmox, you can run multiple instances of Home Assistant or other services alongside it, allowing you to utilize your system’s full capacity rather than having an individual dedicated device.

How to Set Up Home Assistant on Proxmox

Follow all of the steps below in order.

Step 1: Install Proxmox VE

First, you must have Proxmox VE installed. If you already have Proxmox installed, skip to the next step to install Home Assistant.

We will look at how to install Proxmox VE below. Please make sure that you download the latest Proxmox VE ISO installer. To write the ISO image to a USB stick, you can use a tool like Etcher for Windows, Mac, or Linux.

Step 2: Installing Home Assistant

There are two different ways you can install Home Assistant on Proxmox. The first utilizes a script that will install the entire Home Assistant OS automatically. However, you can manually install it as well, which is the second option below.

Installing Home Assistant OS (Script)

1. Make sure that you have Proxmox installed and configured, then review the script that we’ll be running below and ensure you’re comfortable proceeding. To give you my personal input, I have used this every time I’ve set up Home Assistant on Proxmox, but you should review it on your own as well.

NOTE: You can also check out tteck’s GitHub page here (creator of the script)!

2. Access the Shell of your Proxmox server.

proxmox shell icon.

3. Run the following command to install Home Assistant from the Proxmox Shell.

bash -c "$(wget -qLO - https://github.com/tteck/Proxmox/raw/main/vm/haos-vm-v5.sh)"
running the command above in the proxmox shell.

4. Select Yes to create a new Home Assistant VM.

creating a home assistant VM.

5. If you’d like to use the default settings, you can, however, I normally select No to configure my Home Assistant setup.

selecting no on the default settings of home assistant.

6. Select the version that you’d like to use.

selecting the stable version of home assistant.

7. Set a VM ID (this can generally stay as-is).

setting a virtual machine ID.

8. Set the hostname that you’d like to use.

creating a VM hostname.

9. Allocate the total number of CPU cores.

allocating CPU cores in proxmox.

10. Allocate the total memory that the VM should have.

setting the memory to use in proxmox.

11. This section will ask you to configure the bridge network. Leave this as default (though your screenshot may look different) and select OK.

selecting the bridge network to use.

12. Leave the MAC Address as default and select OK.

confirming the mac address in proxmox.

13. If you’re using a VLAN and would like this VM to use that VLAN, you’ll have to enter the VLAN tag here. However, if you don’t have VLANs set up, you can select OK.

defining a vlan tag to use.

14. Select Yes to start the VM when it’s finished installing.

confirming the vm should start when completed.

15. Finally, select Yes to create the VM!

selecting yes to create the vm.

16. Home Assistant will now download and install!

vm install progress.

17. Once it finishes installing, you can open the console window for the VM and view the IP address that was assigned or access it by the Home Assistant URL. After connecting to the URL, you’ll have to finish setting up Home Assistant, but it will be ready to go afterward!

confirming the vm shell is up and running.

Manual Home Assistant Installation

After looking at installing HA using a script, you might not be comfortable running a script that is written and maintained by someone else. The process below will be slightly more involved but will walk you through how to set up Home Assistant manually.

1. Make sure you have Proxmox installed and configured, then navigate to the Home Assistant downloads page and download the KVM/Proxmox (.qcow2) file.

downloading the proxmox qcow2 file.

2. Extract the file, then rename it from .qcow2 to .img on your Mac/PC. This step is important because our goal is to upload it to our ISO images library, then import it into our virtual machine and the ISOs directory doesn’t traditionally store .qcow2 images.

renaming the qcow2 image to img.

3. After you rename the file, upload it to your ISO Images location.

uploading the iso image to proxmox.

4. Select Create VM and then enter a name.

addinga  vm name and vm ID.

5. In the OS tab, select do not use any media.

selecting not to use any media.

6. In the System tab, check off QEMU Agent.

confirming the settings in proxmox.

7. In the Disks tab, delete (red trash can) the scsi0 disk. You shouldn’t have any disks listed after doing this.

removing the scsi0 disk.

7. Set the CPU tab to use two cores.

setting the CPU cores in proxmox.

8. Set the Memory to use 4GB.

setting the memory in proxmox.

9. Navigate to the Confirm tab and ensure that Start After Created is NOT selected. Then select finish to create the virtual machine.

confirming the virtual machine settings in proxmox.

10. Run the command below substituting the current version, VM ID, and Storage Location. After running the command below, the disk will be imported into your VM!

NOTE: If you’re using a separate location for your ISOs like a Synology NAS, you’ll have to navigate to that storage location. Once again, you might have to update the version below to match what you downloaded.

qm importdisk <VMID> /var/lib/vz/template/iso/haos_ova-8.4.img <STORAGE_LOCATION>
navigating to the iso image folder and importing it to the VM.

11. Select the virtual machine and edit the unused disk that we just imported.

viewing and editing the unused disk just imported in proxmox.

12. Select Add to add the disk to the VM.

adding the hard disk to the VM in proxmox.

13. Next, select Add and then EFI Disk. Select your EFI Storage, uncheck pre-enroll keys, then select OK.

selecting where to add the disk.

14. Finally (for the hardware changes), select Edit on the BIOS and set it as OMVF (UEFI).

changing the BIOS setting to UEFI.

15. Select Options, then Edit the boot order.

editing the boot order in proxmox.

16. Uncheck ide2 and net0 and then check scsi0. Select OK to save these settings.

enabling the new disk and disabling everything else.

16. You can now start the virtual machine! It will take a little while to boot up the first time.

starting the VM.

17. Once it finishes booting, you can open the console window for the VM and view the IP address that was assigned or access Home Assistant by the Home Assistant URL. After connecting to the URL, you’ll have to finish setting up Home Assistant, but it will be ready to go afterward!

how to install home assistant on proxmox - VM is installed properly and accessible by IP address.

Step 3: Pass through USB Devices for Home Assistant

If you’ve set up Home Assistant on Proxmox, you might have a USB drive that you’d like Home Assistant to utilize. You can use the steps below to find and pass through the USB drive to the Home Assistant virtual machine. Please keep in mind that this is not mandatory.

1. The first step is to determine what USB device you’d like to pass through to Home Assistant. Open the Shell and run the command below to see all USB devices currently plugged into the Proxmox host.

lsusb
running the lsusb command in proxmox. how to pass through USB devices in Proxmox.

2. In my case, the USB device that I plugged in is abcd:1234 (take note of this ID). If you aren’t sure what ID your USB device is, you can unplug it, run the command above, then plug it in again and run the command again. That will allow you to see what was removed/re-added and then can use that ID.

3. There are two ways you can then add the USB device to a virtual machine. You can do so by using the Shell, or you can add it by using the GUI. We will look at both options below.

If you’d like to add a USB device to a Virtual Machine using the command-line interface, run the command below substituting the VM ID and the ID of the USB device we found above. If you are adding multiple USB devices, make sure you increment the USB number.

qm set [VM_ID] -usb0 host=[USB_ID]
lsusb output showing the plugged in USB.

4. If you’d rather use the GUI, select the Hardware section of the VM, then select Add and USB device.

proxmox gui adding a usb.

5. From there, you can select Use USB Vendor/Device ID and select the correct ID. Alternatively, you can choose a USB port to use, though you must keep in mind that this will be for the port and the port only.

This means that if you change the USB device that’s there, the new device will be added to the VM automatically.

selecting the USB ID in the Proxmox GUI.

6. That’s it! In the Home Assistant Virtual Machine, the USB device will be passed through and you’ll be able to use it!

Step 4: Installing HACS (Setup Process)

HACS will unleash the true power of the device and Home Assistant so that you can install various other packages through the Home Assistant Community Store (HACS).

I would strongly urge you to follow these steps to install HACS on Home Assistant which will help unleash more power.

Step 5: Backing Up Home Assistant

Now that we’ve set up Home Assitant on Proxmox, you can easily back up your entire virtual machine. This has saved me countless times and I’d really recommend that you configure backups.

To configure backups, you can back up your HA VM to an external storage location, or you can utilize Proxmox Backup Server. Either way, you’ll be able to restore the VM if you ever need to!

Conclusion & Final Thoughts

The two options above will have the exact same end result, meaning that Home Assistant will be installed and you’ll be able to use the supervised version.

However, the way that you go about them is entirely different. Depending on if you’re comfortable running scripts on your Proxmox server, that will probably determine if you’d like to use the first option. Please be aware that if the Proxmox host reboots, your VM will be inaccessible.