I struggled quite a while to install HomeAssistant on the new Truenas Scale Incus system because there are no good guides for it. So here is one.
💾 STEP 1: Create a ZVOL
I gave mine 50GB. Minimum needed is 32GB.
Scroll down and save.
🛜 STEP 2: Create a network bridge
This step can be skipped if you already have a bridge with DHCP enabled.
I struggled a bit with this and eventually did it on the physical Truenas PC instead of the web interface because trying to enable DHCP kept crashing my webUI and resetting the connection. This is probably the worst documented part of this tutorial and you might need to look this up elsewhere. Make your default ethernet connection part of this bridge.
🔻 STEP 3: Write HomeAssistant image to Zvol
Optionally: change link in upcoming bash command with latest KVM (.qcow2) from https://www.home-assistant.io/installation/linux
Open shell
Download the VM image in the shell and unzip it:
cd /tmp
wget https://github.com/home-assistant/operating-system/releases/download/15.2/haos_ova-15.2.qcow2.xz
unxz haos_ova-15.2.qcow2.xz
Now write the VM image to the Zvol you made above. Keep in mind that the zvol is in /dev for some reason, not in /mnt
sudo qemu-img convert -p -O raw haos_ova-15.2.qcow2 /dev/zvol/NAS/HomeAssistant
📁 STEP 4: Import the ZVOL to Incus
-
In TrueNAS UI: Instances → Configuration
-
Enable Instances
-
Set Default Pool: (pool where zvol was saved. NAS for me.)
-
Network Interface: Automatic (bridged) or your LAN bridge
-
Save
-
In top right click Create Instance
-
Name “HomeAssistant” (Or what you want to name it)
-
Virtualization method: click VM instead of container
-
Upload ISO -> select Volume
-
Popup menu: Import Zvols
-
Browse the file tree and find your ZVOL. Select ‘move’ option. Then click Import.
-
Now “select volume” popup should have the volume selectable. Select it.
🎌 STEP 5: Finish the VM settings and run it
- CPU configuration: 2 or 3 (or however many cores you want to give the VM)
- Memory size: 4GB (Min1GB. Can be set lower or higher. Can always be adjusted later)
- Root disk size: Same as volume size the ZVOL had (50GB for me)
- scroll down, Network: untick default network. Select the ‘Bridged NIC’ option.
- USB devices: If you have a Zigbee stick or HA Skyconnect, tick it.
- Create.
After a few minutes you should be able to find the HomeAssistant VM in your router’s dhcp list. Go to that IP but write :8123 at the end. For me it is 192.168.0.150**:8123**.
If it doesn’t show up, consider checking the serial console button of the VM and see if it has any output after restarting it. It can take around 15 seconds for text to show up.