I am currently running HAOS in Virtualbox on an older Intel Mac Mini.
I think I’m starting to run into some limits though as what started as “a few lights” has turned into multimedia control, automations, and complex dashboards.
I have a Beelkink GTR7 Mini PC,AMD Ryzen 7 3750H, 16GB DDR4 500GB that I could repurpose. I also could wipe the Mac Mini and repurpose it. 3.2 GHz 6-Core Intel Core i7 16 GB 2667 MHz DDR4. The other functions both machines are currently serving, could be moved elsewhere.
So, my question is, should I?I’m having the occasional problem loading a dashboard, and some integrations having delays loading that a simple “reload” fixes. Is it worth it going to an install of HAOS directly on the machine?
If you can’t come up with a reason off the top of your head, maybe stick with the running system.
Running haos in a VM does work, generally if you do need/ want to run on the bare iron, the reasons for doing so will be glaringly obvious to you (limited resources, a need to connect to hardware (zigbee/ z-wave/ bluetooth adapters, for example, lags/ delays). That aside, neither of your options sound particularly low-idle-power - and at the same time rather on the faster spectrum of hardware, which may -or may not, depending on your actual requirements- rather wasteful.
Don’t get me wrong, there are obviously reasons- and advantages to run haos on the bare iron (from tiny/ slow systems to really fast gear), but usually you feel exactly what you’re missing in your current VM environment first. On the other hand there are some advantages to VMs as well, ranging from better using the given system resources (and sharing them between multiples services), to easier backup, easier test environments, etc.
There are good reasons for either of these options, only you can decide which of them are important to you.
It depends. It seems from the way the question is posed,you expect improved performance in terms of reaction speed?
Others with more detailed knowledge on the subject may chime in to correct me but I think your system (either option) has enough resources for that not to matter much If you were running on a pi3b with 2Gb ram it would be a different story
On the other hand,if the system is dedicated to HA anyway, running another os and virtualbox only adds more complexity and potential failure points. I.e there was a Linux kernel update a year or so ago that broke certain machines in Virtualbox, HAos included.
Maybe it’s not virtualization. Maybe it’s the hypervisor? Could go Proxmox? See if your problem is exclusive to vbox?
Personally I have two boxes. A NUC 10 with no extra GPU running HAOS on metal and a NUC14ProAI running Proxmox with everything else including lightweight LLM inference.
My emergency restore process is to light up a VM of HAOS on Proxmox and restore my backup there until I can replace the HW. And makes my ha stuff as simple and independent as possible. Works for me. May not work for everyone else.
I used to just keep a spare SSD. But having the second box gave me a better option and allowed me to use my HA backup SSD as backup storage for HA itself.
So just think through the hardware you have and what config makes the most sense. As. Long as you stick to haos you can pretty much restore it anywhere HAOS runs.
I was on VirtualBox for years. A horrendous pain. Moving to Proxmox improved my life. Putting HAOS on a relatively powerful machine seems somewhat wasteful unless you’re going to run heavy addons. And having the ability to spin up another VM might be handy. Regardless, I’d be surprised if VirtualBox was the cause of your occasional problems, so nothing may change.
Running HAOS bare metal will minimise the overhead from the OS - but it means the whole machine is dedicated. Home Assistant is a pretty light application … though of course each addon adds to the load - especially video and voice processing. If your current Mac Mini isn’t currently being used for anything else, then running HAOS directly on it would be a performance increase.
You mention that “The other functions both machines are currently serving, could be moved elsewhere” … but Home Assistant is designed as a server application with no GUI, and so runs nicely as a VM sharing a physical server. in the Community Guides section of this forum (and elsewhere on the internet) you will find many tutorials on installing HAOS as a Virtual Machine on a variety of NAS, under proxmox, Hyper-V, VMWare or similar.
Personally I think of VirtualBox as an app on my desktop to allow me to spin up other graphical OSes temporarily - essentially a GUI in a GUI. HA doesn’t require either host or guest to have a GUI.
I second Nathan’s suggestion to consider proxmox or other Virtual Machine Manager, which I expect to have much less overhead than VirtualBox. I personally upgraded from HAOS on a dedicated RasPi 4 to HAOS in a VM under proxmox running on an old PC with 6th Gen i5 CPU.
As a virtualbox user who is pretty happy with it, and who has experienced pain mostly from doing stupid things I can only blame myself for: what issues did you experience with virtualbox that proxmox solved for you?
I’m going to set up a proxmox machine to at least test some stuff out. I would like to separate cloudflared and NPM if I can. When I’m doing stuff on ha and have to restart it’s annoying to lose that functionality even temporarirly.
Proxmox is very easy to use and a backup to a NAS is so easy. And restoring is also easy. Within minutes you are back online if your VM or LXC crashes.
Proxmox is an OS that is administered from a browser. It’s therefore very easy to access from anywhere. Whereas VirtualBox runs on top of an OS, which therefore must have a GUI (unless you like doing everything via the command line). In a server sense, if means you have to access the machine remotely. I was running on top of Ubuntu and remote desktop from Windows to Ubuntu was flaky (it maybe better now). It would often not work, and when it did I had to enter my password multiple times to get access to key stores, etc (probably fixable but I couldn’t get it to work).
Also auto-starting VMs on VirtualBox was harder than it should be, requiring the CLI (maybe changed too). On Proxmox you tick a box.
There were other gripes but it’s too long ago to remember. I feel like scheduling jobs like backups was harder on VirtualBox too.
Thanks everyone. I’ve installed Proxmox on the mini-pc. I’m working on getting all the add-ons setup as VMs. Took some learning, but I’ve got NGINX and Cloudflare working and have shut down the NGINX add-on. Slowly working on the rest.
Edit to ask:
I’m don’t see a good reason to move the MQTT pieces outside of HA as add-ons. My only use for it is HA. If it goes down or HA goes down the impact is the same. Is there any other reason to move it outside HA into a VM?
Thanks again everyone! I’ve fully moved over to Proxmox and so far so good.
I was even able to make an image of the Win11 machine I repurposed and have it running as a VM if I need it. Edit: Although VERY Slowly.
Ok,I get those points but since some of them don’t apply to my case and others are very minor to me, I think I’ll just stick with VB for as long as it works for me. Glad you found a solution that works for you though.