How to Install Home Assistant using a Proxmox VM

In this tutorial, we will show you how to set up Home Assistant OS using Proxmox.

Installing Home Assistant on a Proxmox VM

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.

Create new VM on Promox for Home Assistant OS

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.

Set VM Name

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.

Set no install media

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.

  1. BIOS: The BIOS option must be set to “OVMF (UEFI)” (1.).
  2. 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
  3. 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.

Set Promox system details for Home Assistant OS

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.).

Delete existing disk

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.).

Select number of cores to assign to Home Assistant

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.).

Select RAM Allocation for Home Assistant OS VM in Promox

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.

Configure network settings

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.

Finish creation of the HAOS VM

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.).

Open shell on your Proxmox host machine

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.

Download the Home Assistant OS Image to Promox

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.).

Open Home Assistant VM Hardware settings

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.).

Edit unused disk

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.

Add Home Assistant Disk to Promox VM

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.

  1. Your next step is to use the sidebar to change to the “Options” tab (1.).
  2. Once within this tab, find and click the “Boot order” option within this list (2.).
  3. After selecting this option, click the “Edit” button within the toolbar (3.).
Find and modify boot order

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.).

Set VM to boot to Home Assistant

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.

Start the HAOS VM

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.

Home Assistant successfully started in Promox VM

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.

Welcome to 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.).

Create user to access Home Assistant

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.).

Select home location

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.

Allow or block HA analytics

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.

Devices are ready to connect

30. Below you can see that we have successfully managed to set up a virtual machine using Proxmox for Home Assistant.

Home Assistant OS VM running through Proxmox

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

2 Comments

  1. Avatar for Josh
    Josh on

    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!

    1. Avatar for Emmet
      Emmet on
      Editor

      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