Links on the site may earn us an affiliate commission. Learn more.

In this guide, I will be showing you how to set up Home Assistant in a virtual machine on Unraid. In the previous guide, I showed how to set up Unraid for the first time, so if you are new to Unraid, you can check out that guide here.

Installation methods

So, to install Home Assistant on Unraid, you can set it up in 2 ways. You can install the Home Assistant Core version on a Docker container or set up the Home Assistant OS on a virtual machine. The Core version doesn’t come with the Supervisor. So, setting up different integrations and also update Home Assistant will require more steps. So, instead of the Core version, we’ll install the Home Assistant OS on a virtual machine. The OS version does come with the Supervisor, allowing to easily update Home Assistant and installing add-ons.

Upload the Home Assistant image to Unraid

The first thing you need to do is download the Home Assistant image, so go to the Home Assistant website and download the KVM image. Unzip the image, and you then need to upload the file to the Unraid server and save it in the domains folder. The folder needs to be accessible from a computer in your network. So, open the Unraid web interface, go to the Shares tab and click on domains. Under SMB Security Settings, set the Export to Yes. You also want that only specific users can manage this folder so, set the Security to Secure. Then, click on Apply, go to the Users tab and add a new user. After you have the new user created, go back to the domains settings and under SMB User Access, make sure that the new user has read and write access.

To access that folder, open the file explorer on your computer and go into Network. Click on the Refresh icon, and your Unraid server should come up. If it doesn’t, is because SMB 1.0 is not enabled in Windows. So, what you can do is on the search bar, type \\, the name of your Unraid server or the IP address, and then press enter (e.g., \\ServerName or \\192.168.X.XX). When accessing the Unraid shared folders for the first time, a pop-up comes up where you’ll need to enter the user credentials created via Unraid.

After you access the Unraid shared folders, click on the domains folder and create a new folder named home_assistant. Then, the image that you downloaded from the Home Assistant website save it in this new folder. If you go back to the Unraid web interface, go to the Shares tab and open the domains folder, you will see the new Home Assistant folder created with the image file.

Create virtual machine

Now that the image is uploaded to the Unraid server, you can go ahead and set up the virtual machine that will run Home Assistant. The minimum resources required to run Home Assistant are:

  • 2 CPU cores
  • 2 GB of RAM
  • 32 GB of storage

To start, you can definitely set it up to the minimum and later on allocate more resources to the VM if needed. I personally have been running my setup with the minimum resources required, and I haven’t seen the need to change it.

To add a new virtual machine, go to the VMs tab, click on Add VM and select the Linux template. Set the name for the VM to Home Assistant. You also want to set the Autostart to Yes, so the virtual machine starts automatically anytime the Unraid server is rebooted. For the Logical CPUs, select 2 of them. The Initial Memory set it to 2048 MB, which is 2 Gigs. The BIOS, make sure that it’s set to OVMF. Then, we need to link the Home Assistant image file to the VM, so under Primary vDisk Location, change it from Auto to Manual. Then, click on the field next to it and select: user > domains > home_assistant > and select the Home Assistant qcow2 image.

The template also generates a MAC address for the virtual machine, which you can use in your router to assign a static IP address to Home Assistant. If you have USB devices connected to your server that you need to link to the Home assistant VM, for example, a Zigbee or Zwave dongle, you can select them under USB Devices. And that’s about it. All other settings can stay as default. Uncheck the option Start VM after creation, and click on Create.

Set up the Home Assistant icon on the VM

Before starting the virtual machine, you want to change the default Linux icon to the Home Assistant logo. To do that, you will need to upload the Home Assistant PNG icon to the Unraid server and save it in the same folder you added the Home Assistant qcow2 image. So, download the Home Assistant image from the Internet. If you want to use the PNG icon that I’m using, you can get it here. Then, open your file explorer and access the Unraid domains folder again. Go into the home_assistant folder. Create a new folder named icon and save the Home Assistant PNG image in there (Set the PNG image name to home_assistant.png).

Go back to the Unraid web interface and go to the VMs tab. Click on the virtual machine icon and then click on Edit. To set the Home Assistant icon, change the editor from the Form view to the XML view. Under metadata, you’ll see, icon="Linux.png". Remove the Linux.png and leave the quotes. Then, inside the quotes, if you set up everything the same way as I did here, enter /mnt/user/domains/home_assistant/icon/home_assistant.png. Then click on Update, and the Home Assistant virtual machine now has the correct icon assigned.

Start the VM and access the Home Assistant interface

After you have the Home Assistant logo set up on the virtual machine, you can now click on the icon and start the VM. To check the installation progress, click on the Home Assistant VM icon again and then click on VNC Remote. This will open a new window showing Home Assistant being configured. Once the process finishes, you would see Welcome to Home Assistant. Now, on another tab, go to http://homeassistant.local:8123. If the configuration is still in progress, you would see the Preparing Home Assistant page. When that’s done, the login screen comes up where you can set up your Home Assistant profile and continue with the initial setup. If you are new to Home Assistant, I do have a beginner’s guide to follow along from this point on. You can find that guide here.

Want to support my work?