I turned a spare Mac mini into a Home Assistant home server

How I turned a spare Apple Silicon Mac mini into a Home Assistant home server using UTM and HAOS.

Background

When I was still living with my parents, I first installed Home Assistant on a Raspberry Pi 3b+, initially to use the HomeKit-Bridge plugin to bridge over non-compatible devices into Apple Home. Since I moved out, I never really had a smart home in my own place. But when Ikea released their new Matter over Thread devices at the end of last year, I knew I had to start a new smart home. The prices of their devices are just too good. So I went ahead and installed Home Assistant on my RPI 5 and set the devices up with the Home Assistant Connect ZBT-2. The setup worked well, but my dad had a spare Mac Mini M1 lying around at home, so I thought: why not just use that as your little home server and install Home Assistant on it? The Mac mini is really power efficient in idle but also provides excellent performance, in case I wanted to use local video processing.

The Process

Home Assistant can’t run natively on macOS, so I had two options. Use it inside a Docker container or inside a virtual machine. I went for the VM route, since Home Assistant inside Docker lacks a few features compared to the HAOS, such as using apps and one-click updates.

As for the hypervisor, I decided to use UTM, since it comes with good Apple Silicon support and makes the installation of Home Assistant quite easy. I won’t go into the details of setting up the VM and the setting up of Home Assistant, since there are plenty of tutorials out there. I followed this one: https://youtu.be/KbSXk6SgRbA?si=nkfn2FULkXo5WRu6

I will, however, briefly talk about the challenges I had during the installation. I am not sure if I skipped a step in the setup of the VM, but after it was created, it had very limited storage space, resulting in errors during Home Assistant installation:

2026-01-24 16:38:24.551 INFO (MainThread) [supervisor.resolution.evaluate] System evaluation complete
2026-01-24 16:38:24.551 INFO (MainThread) [supervisor.resolution.fixup] Starting system autofix at state running
2026-01-24 16:38:24.552 WARNING (MainThread) [supervisor.jobs] 'FixupStoreExecuteReload.process_fixup' blocked from execution, not enough free space (1.7GB) left on the device
2026-01-24 16:38:24.552 INFO (MainThread) [supervisor.resolution.fixup] System autofix complete
2026-01-24 16:38:24.553 INFO (MainThread) [supervisor.host.sound] Updating PulseAudio information
2026-01-24 16:38:24.556 INFO (MainThread) [supervisor.host.manager] Host information reload completed
2026-01-24 16:40:02.136 ERROR (MainThread) [supervisor.docker.manager] No space left on disk

I thought I set an image size on setup. I actually did a few retries with the same result every time. So I manually resized the image using this command:

qemu-img resize /Users/valentinweyer/Library/Containers/com.utmapp.UTM/Data/Documents/homeassistant.utm/Data/haos_generic-aarch64-17.0.qcow2 64G

After the resize, I restarted the VM, and voila: Home Assistant installed as it should without any missing storage errors.

USB-passthrough

Since the ZBT-2 Thread antenna is an external device, it needs to be plugged in via USB. USB passthrough in virtual machines can sometimes be a bit of a pain in the ass, but UTM luckily handles that very gracefully by just showing when a new USB device connects and asking whether to pass it through to the VM.

Limitations

Unfortunately, UTM can’t access the Mac’s Bluetooth, which means I currently can’t use anything inside Home Assistant that needs Bluetooth. That can be solved by buying a separate Bluetooth USB dongle and passing that through to the VM. However, since I currently don’t need anything that requires Bluetooth functionality, I did not do that yet.

Conclusion

In the end I can say that the installation was much easier than I thought it would be, since Apple Silicon support can sometimes create unexpected issues. I can definitely recommend it to anyone that has a spare Mac lying around. For everyone else that wants to buy dedicated hardware for Home Assistant but wants something more than a Raspberry Pi, I would not recommend buying a Mac Mini, since it is simply overkill. A modern x86 Mini-PC for €100-€200 provides more than enough power for this use case and probably has better software compatibility.