In this tutorial, we will show you how to set up Home Assistant OS using Proxmox.
Proxmox is a great way to install and run the Home Assistant OS without dedicating your whole device to it. With Proxmox, you can easily run and manage virtual machines on your host machine.
Using a virtual machine to run Home Assistant is a great choice, as the OS is still one of the best ways to run the software. It has everything pre-configured correctly out-of-the-box and has built-in support for things such as Home Assistant Addons. Additionally, it is less problematic than installing Home Assistant directly on your operating system.
For those who have never heard of it, Home Assistant is a distribution that is aimed at becoming your own self-hosted hub for your smart home. It can integrate with the vast majority of devices, giving you a central place to manage your various smart home devices.
If you want to run Home Assistant OS using a virtual machine, Proxmox is probably one of the best ways of managing it, especially if you are running a Linux server. It has a ton of other helpful functionality, such as the ability to back up your virtual machine.
Installing Home Assistant onto a Proxmox Virtual Machine
Over the following sections, we will walk you through setting up a virtual machine for Home Assistant using Proxmox.
This guide won’t cover installing Proxmox, so you must have that set up and ready to go before proceeding.
We currently only have a guide for installing Proxmox on the Raspberry Pi.
Creating a VM in Proxmox for Home Assistant
1. With the Proxmox web interface open, you will first want to select the host machine on which you intend to install Home Assistant. In our case, it will be our Raspberry Pi (1.).
Once you have your machine selected, click the “Create VM
” button (2.) in the top right-hand corner.
2. The first thing you will want to do is give a name for your new virtual machine (1.). We recommend using something like “HAOS
” that makes it obvious this Promox VM is running Home Assistant.
Once you have named your VM, click the “Next
” button (2.) to proceed.
3. This next screen will ask you to select an image to install an operating system. As we intend to use the Home Assistant virtual image, we must select the “Do not use any media
” option (1.).
Once you have selected this option, click the “Next
” button (2.) to continue setting up this virtual machine.
4. This next screen will enable us to set the system settings Proxmox will use when running the Home Assistant virtual machine.
There are a couple of things we need to change on this screen.
BIOS
: The BIOS option must be set to “OVMF (UEFI)
” (1.).EFI Storage
: Here you must select where you intend on storing the data for the Home Assistant VM (2.). Remember the name of the storage location you pick, as you will need this later in the guide.
For our example, the EFI storage we are using is called “local
“Pre-Enroll Keys
: Finally, ensure that the “Pre-Enroll keys
” is unticked (3.).
After setting these three options, click the “Next
” (4.) button to proceed.
5. By default, Proxmox will attempt to create an empty disk for your virtual machine. As we intend to use the VM image for Home Assistant we must delete this disk. To delete it, click the rubbish icon next to the disk (1.).
Once you have deleted the empty disk, click the “Next
” button (2.).
6. Our next step is to set the number of CPU cores you want Proxmox to give the Home Assistant VM access (1.). The bare minimum you will want to go with is two cores.
With the core number set, click the “Next
” button to continue (2.).
7. Next, you must set the amount of memory that Proxmox will assign to this new virtual machine (1.). While you could get away with 2GB (2048mb) of memory, the recommended value is at least 4GB (4096mb) or higher.
After setting the amount of memory, click the “Next
” button (2.).
8. With this screen, you can control the network device that Promox will use for the Home Assistant virtual machine.
If you are happy with the default settings, click the “Next
” button to continue.
9. You will now be given an overview of the virtual machine about to be set up on Proxmox. If the settings all look right, click the “Finish
” button.
Accessing the Shell through Proxmox
10. Even though we have now set up the Proxmox virtual machine to run Home Assistant, we need to get the operating system on it.
To do this, we must open the shell for the machine that you are setting up Home Assistant on (1.).
With the machine selected, click the “Shell
” button in the top-right corner of the screen (2.).
11. You should now have the shell open in another web browser window. We will use this to run a few commands to download and install the Home Assistant OS to the Promox virtual machine we just created.
One thing you must make a note of is the ID of your virtual machine. If this is the first VM you have set up through Proxmox, the ID is likely “100
“. You can also see this ID in the sidebar.
Downloading and Install the Home Assistant OS Virtual Image to Proxmox
12. Within the shell, you will want to use the mkdir command to create the following directory.
This directory is where we will download and store the Home Assistant virtual image.
mkdir -p /var/lib/vz/template/qcow
13. Once the directory has been created, you can use the cd command to change into it.
cd /var/lib/vz/template/qcow
14. With this next step, we will use the wget tool to download the Home Assistant virtual machine image onto your Promox machine.
This command will differ slightly depending on what type of system you are running.
For those who are running an x64 system, you will want to use the following command to download the correct image.
wget https://github.com/home-assistant/operating-system/releases/download/13.2/haos_ova-13.2.qcow2.xz -O haos.qcow2.xz
If you are running a 64-bit ARM system such as a Raspberry Pi, you will want to use the command below instead.
wget https://github.com/home-assistant/operating-system/releases/download/13.2/haos_generic-aarch64-13.2.qcow2.xz -O haos.qcow2.xz
15. We can now use the “unxz
” command to extract the virtual machine that we downloaded to the system.
This process can take a couple of minutes to complete so be patient.
unxz haos.qcow2.xz
16. Once extracted, we can import the image we just downloaded using the “qm
” command’s “importdisk
” option.
To achieve this, you will want to run the following command within the terminal. While typing out this command, you must replace two placeholders.
<VMID>
: Replace this placeholder with the ID of the virtual machine you created earlier on in this guide. For our example, we would be using the value “100
“.<EFILOCATION>
: Here you must set the EFI location name you chose while creating your virtual machine. This will be “local
” in our case, but yours might differ.
qm importdisk <VMID> /var/lib/vz/template/qcow/haos.qcow2 <EFILOCATION>
For example, if your VM ID was 100
, and your EFI location was named “local
“, the command would end up looking like the following.
qm importdisk 100 /var/lib/vz/template/qcow/haos.qcow2 local
Getting your Proxmox VM to Run Home Assistant OS
17. We are finally at the point where we can set our Proxmox VM to use the Home Assistant virtual image we just downloaded and installed in the previous section.
First, select your virtual machine using the sidebar (1.).
Once the machine is selected, click the “Hardware
” tab (2.).
18. On the hardware page, you should see a value in the list labeled “Unused Disk 0"
, click this entry (1.).
Once you have the disk selected, click the “Edit
” button in the toolbar (2.).
19. If you run your Home Assistant Proxmox VM off an SSD, you will want to tick the “Discard
” option (1.).
Once set, click the “Add
” button (2.) to add this disk to your virtual machine.
Correcting the Boot Order
20. With the Home Assistant virtual disk now added to your Proxmox VM, we need to re-adjust the boot order so that it is actually booted.
- Your next step is to use the sidebar to change to the “
Options
” tab (1.). - Once within this tab, find and click the “
Boot order
” option within this list (2.). - After selecting this option, click the “
Edit
” button within the toolbar (3.).
21. This screen will list a few different items, you will want to untick all but the “scsi0
” disk (1.), as we have shown below. These other drives are not required to boot up Home Assistant in your Proxmox VM.
Once you only have the Home Assistant image selected, click the “OK
” button (2.).
Starting Home Assistant OS in Proxmox
22. We are finally at the point where we can start up the Home Assistant virtual machine in Proxmox by clicking the “Start
” button.
The initial startup of the Home Assistant virtual machine can take a few minutes, so please be patient while it starts up.
23. You can check on the startup process of the Home Assistant virtual machine by changing to the “Console
” tab (1.).
Once you are on this tab, you can see the status of Home Assistant. If everything has worked correctly, you should see a screen like the one below.
On this screen you will see the IP address (2.) on which your Home assistant interface can be accessed. Make a note of this IP for the next step.
Finishing your Setup of Home Assistant OS on Promox
24. You have successfully installed Home Assistant OS on your Proxmox VM. At this point, you will want to run through the initial setup process.
You can start this process by going to the following URL in your favorite web browser. Ensure you replace “<IPADDRESS>
” with the IP of your virtual machine.
https://<IPADRESS>:8123
25. Upon opening up this page, you should be greeted by this welcome screen.
You will want to click the “CREATE MY SMART HOME
” button to begin the initial setup of Home Assistant.
26. Use this page to create the admin user for your HA installation (1.). Ensure the password you set here is secure; this user will have full control over this smart home software.
After entering your details, click the “CREATE ACCOUNT
” button (2.).
27. Home Assistant will now ask you to select your home location (1.) to work out certain bits of information, such as the weather and the sun’s current position.
Once you have set your location, click the “Next
” button (2.).
28. The installer will now ask if you want to give the team access to some information about your installation.
You can toggle any of these options on or off. After configuring this how you would like it, click the “NEXT
” button.
29. Home Assistant will now take this chance to announce that it has already found compatible devices on your network. This screen also indicates that your Promox virtual machine is working as intended.
Click the “FINISH
” button to complete the installation of Home Assistant.
30. Below you can see that we have successfully managed to set up a virtual machine using Proxmox for Home Assistant.
Conclusion
By this point in the guide, you should have learned how to use Proxmox to set up and manage your Home Assistant OS virtual machine.
A VM is one of the most recommended ways to self-host this smart home software. It gives you an operating system that has been pre-configured to work properly, and you don’t have to use an
Once this software is up and running, you should check out some of our many Home Assistant tutorials. These tutorials will help you walk through setting up some of the neatest parts of the software, such as setting up HACS.
Please feel free to drop a comment below if you have had any issues with getting Home Assistant running on Proxmox.
This guide is awesome thank you! I do have two edits I would suggest.
1. In step 15 the image that is downloaded is called haos.qcow2.xz
2. In step 16 I would suggest adding an example terminal command to show exactly how the command would look when formatted.
Seriously though thank you for this guide it helped me a ton with getting this set up!
Hi Josh,
Thank you very much for your feedback. I have corrected step 15 to reference the correct image name, and I have added an additional explanation to step 16 to hopefully make it clearer.
Kind regards,
Emmet