In this tutorial, we’re going to look at how to install 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 install Home Assistant on Proxmox 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 as a VM on Proxmox, the initial and biggest benefit is that you’ll be running Home Assistant which offers you tons of options.
When you run Home Assistant OS on Proxmox, it allows you to take advantage of the stability and performance benefits that come with running Home Assistant in a VM. Using a VM allows you to isolate Home Assistant 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 Home Assistant 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 device dedicated to Home Assistant.
How to Install Home Assistant on Proxmox
The step-by-step guide below will show you exactly how you can install Home Assistant on Proxmox following best practices.
Step 1: Install Proxmox VE
Before you can install Home Assistant on Proxmox, 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: Install Home Assistant
There are two different ways you can install Home Assistant OS 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.
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)"
4. Select Yes to create a new 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.
6. Select the version that you’d like to use.
7. Set a virtual machine ID (this can generally stay as-is).
8. Set the hostname that you’d like to use.
9. Allocate the total number of CPU cores.
10. Allocate the total memory that the VM should have.
11. This section will ask you to configure the bridge network. Leave this as default (though your screenshot may look different) and select OK.
12. Leave the MAC Address as default and select OK.
13. If you’re using a VLAN and would like this virtual machine 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.
14. Select Yes to start the VM when it’s finished installing.
15. Finally, select Yes to create the virtual machine!
16. Home Assistant will now download and install!
17. Once it finishes installing, 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!
Manual Home Assistant Installation
After looking at how to set up Home Assistant on Proxmox 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.
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.
3. After you rename the file, upload it to your ISO Images location.
4. Select Create VM and then enter a name.
5. In the OS tab, select do not use any media.
6. In the System tab, check off QEMU Agent.
7. In the Disks tab, delete (red trash can) the scsi0 disk. You shouldn’t have any disks listed after doing this.
7. Set the CPU tab to use two cores.
8. Set the Memory to use 4GB.
9. Navigate to the Confirm tab and ensure that Start After Created is NOT selected. Then select finish to create the virtual machine.
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>
11. Select the virtual machine and edit the unused disk that we just imported.
12. Select Add to add the disk to the VM.
13. Next, select Add and then EFI Disk. Select your EFI Storage, uncheck pre-enroll keys, then select OK.
14. Finally (for the hardware changes), select Edit on the BIOS and set it as OMVF (UEFI).
15. Select Options, then Edit the boot order.
16. Uncheck ide2 and net0 and then check scsi0. Select OK to save these settings.
16. You can now start the virtual machine! It will take a little while to boot up the first time.
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!
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.
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]
4. If you’d rather use the GUI, select the Hardware section of the VM, then select Add and USB device.
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.
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 for Home Assistant.
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 Home Assistant VM to an external storage location, or you can utilize Proxmox Backup Server. Either way, you’ll be able to restore your Home Assistant VM if you ever need to!
Conclusion & Final Thoughts
This tutorial looked at how to install Home Assistant on Proxmox as a VM (HAOS VM). 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.
Thanks for checking out the article on how to install Home Assistant on Proxmox. If you have any questions, please leave them in the comments!