HA OS on unRaid!

I did give that setup a try after watching @digiblur’s video . It became a bit messy as I installed more hassio addons and I prefer the segregation of the HassOS VM, really. It’s probably better to just run the standalone Home Assistant container for unRAID and make use of unraid’s other apps as “add-ons” if you’re avoiding VMs.

1 Like

hi cogneato,

When I set up the hassio in vm, I changed clock from utc to local time in xml file before running the VM. However. It can boot sucessfully and login into the web ui. But after running 20mins or 30mins, WebUI cannot loggin in. (Hass.io 3.2 beat version) I didn’t test 2.12version, but I think it will be the same result as 3.2

HassOS reaches out to ntp servers at boot to set the time. Local time will appear for Home Assistant but the system should remain UTC.

And 2.12 is what you want unless you are helping debug 3.2, which is a pre-release.

But why my hass.io installed on respberry pi is showd local time in system log?

`type or paste code here`

I did a reset on DNS on my router and Its all working fine now

Thank you for all the suggestions

Cheers

I just recently migrated to using HassIO via Docker on Unraid! And, I’ve been very impressed by it’s perferformance and low resource usage – it’s working Great for me!

Update 09/03/2019:
Unfortunately after a week or so the docker container actually started becoming gradually more unstable…with the HassIO container continually stopping itself. I struggled with it for a while but eventually the HassIO container would stop on its own after a few seconds. In addition to the odd orphaned containers and quirky behavior with Unraid recognizing updates even if you don’t want to update, I couldn’t even use the HassIO features (eg take a config snapshot) because of this instability in Unraid.

So I switched over to running HassIO as VM in Unraid and it has been significantly more reliable! I used the video posted here and it’s running great with the VM set to use up to 2 cores with 512MB RAM (keeping the VM footprint t minimal on my 8GB RAM Unraid server) and it’s been far more reliable for over 3 weeks now!

Original Post Below:
In case it helps anyone else here’s a summary of what I’ve done:
My RPi that randomly died in early July, so I decided to take this approach to see how it might go . . . and I’ve been very impressed. As many have noted in this thread (and others) it’s very snappy: full restart in ~20 seconds (vs minutes in my RPi 3), config validates in about 3 seconds (vs 30 in my RPi), etc.

I’m really quite happy with it and enjoy the thought that my Unraid server resources are being maximized because it’s a modest server running on an Athlon II X4 620 with 8GB RAM. And I really wasn’t fond of having to block off RAM & CPU Cores for a VM.

Currently the HassIO Supervisor docker container is only using ~47MB RAM, and the actual HomeAssistant Docker container is using ~120MB RAM. CPU utilization seems to stay at similar level as before idling from 4-8%. So the resource utilization is very minimal.

Because I wanted to use HassIO, I was very excited to find that Digblur has already done most of the hard work and provided a Docker template for Unraid for HassIO :partying_face: and he provides alot more details on his Youtube video here, so definitely check that out!
image

It was pretty easy to get it installed. However, I was concerned that it uses the intel-nuc docker container repository which did not seem right to me . . . so, after breaking down the logic of the actual HassIO installation script (found here), it’s clear that HassIO should use the correct docker repo based on the architecture of the system and intel-nuc is not right for an Intel/AMD x86 based PC like my Uraid server.

Instead you should use: homeassistant/qemux86-64-homeassistant

You can know for sure if you get x86_64 as the result from running uname -m command at your Unraid Terminal:
image

In addition, after tracking downthis thread for Unraid I gleaned some super useful info. (because I’m not a Docker expert by any stretch) to help me quickly get my Z-wave stick back up and running too with the mapping also shown below…

Here’s my docker configuration screen for an Athlon II X4 620 (x86 64-bit) PC server running my unraid:

After installation, I did experience the single odd issue that Digiblur calls out on his Youtube video, with the non-standard docker for HomeAssistant not starting in Unraid. But the little trick Digiblur notes on his video worked perfectly and it’s never been an issue since!

As he notes there are some oddities observed in Unraid when HassIO installs addon’s that are actually other containers. And, honestly I wasn’t too happy with the LetsEncrypt container in HassIO anyhow (it often failed to renew my certs). So rather than re-insall the various add-ons I used on my RPi (e.g. Samba, SSH, LetsEncrypt, etc.), I opted to fullfill as much of these with Unraid Apps (Dockers) instead.

I’m using the very easy and elegant NGINX Proxy Manager docker app for Unraid to manage all SSL certificates, and provide domain routing & security to HomeAssistant. And, that’s the last hurdle I had to get past . . . which took some additional debugging of IP addresses, but the main thing I learned the hard way was that Web Sockets must be enabled for the proxy host pointing to HomeAssistant! Once I figured that out then I was able to simplify my config back to what made sense and remote connections and logins started to work as expected! There’s yet another useful thread regarding NGINX Proxy Manager setup where I posted a bit more detail on my discovery journey on this!

Other than that, I was able to do a HassIO restore, and was on my way . . . I did have some HomeAssistant configuration cleanup to do since this pulled down the absolute latest version and my RPi was not fully updated (esp. the new Users and user profiles setup), but once I got that all cleaned up and added back in the Integrations I needed (e.g. TP-Link, Emulated Roku, Z-Wave, etc.) everything started working wonderfully!

3 Likes

I’m curious as to what add-ons you had issues with installing as a VM.

I wonder what reasons you have to prefer a docker version of Hassio vs VM.

Also from a backup perspective I wonder how the snapshots work on a docker vs a VM. I know on unRAID you can’t take snapshots of a VM natively so that is a bummer.

I am personally confused on what path to use for my Hassio. Not sure if to go the docker or VM path on my unRAID server.

I know you are asking digblur and not me, but I’m pretty sure he prefers straight Home Assistant on unRaid.

I actually prefer Hassio in the VM as it keeps things more together. Running supervisor as an “app” was interesting, but ultimately the whole environment felt very fragmented compared to running it in a VM.

Snapshots in hassio work the same either way. These are snapshots of your configuration directory and addons. They will be either stored in unRaid’s appdata directory or the storage allocated to the VM, depending on what route you take.

Thanks for your input! I feel the same way.

One question I have for you is do you HAVE to assign logical CPUs? I have an AMD FX-4100 which is only 4 cores and would not like to designate 2 cores for this VM. I am wondering if you do CPU pass through only if that is enough.

I started with HA as docker so of course that is my preference. I have tried both methods along with running hassio in docker. I kept going back to straight docker.

It just keeps things simple for me. No dependency on anything as it is all modular. Easy to troubleshoot, configure and even rollback if needed. For instance it allows me to run two copies of HA on the same MQTT server with ease.

I don’t need snapshots as all of my files are backed up in real-time and versioned automatically. I just pull the files I need or reference them when needed. Crashplan docker does that part.

My way isn’t the best way for everyone. I say try it all and use what you are comfortable with.

1 Like

Thanks @digiblur!

I went the VM route, but still not certain if I will stick with that. I personally like to compartmentalize and would prefer to have a simple way to just go back in time if I make a mistake on my HA setup to roll back, so make use HassIO in VM to keep snapshots of that, and figure out how to backup NR. OR may use NR inside Hassio to backup those together. I have heard NR inside Hassio is more limiting but I assume you can use multiple different instances of NR (i.e. a NR docker and a NR inside Hassio) together with MQTT so link them together (?).

What did you mean by this example below?

All of my containers are separate from each other. I have to NodeRed containers, I can swap back and forth where I want things pointed etc. I do only have one MQTT container running as I really don’t need two. Both my Prod and Dev copies of Home Assistant point to the same MQTT container. That way I can test how different devices work and such on dev before I upgrade my prod.

I found all of this easier for me based on trying different Hassio installs as I felt locked in if something didn’t go right on an install, upgrade, or reboot. If Hassio fails to boot for me right now, big deal, NodeRed still runs and so does MQTT. Of course I don’t get the add-on store but with unRaid I haven’t found I’m missing much as they have a whole slew of container templates that allows me to install stuff with just a couple clicks.

I also need to consider moving HassIO into docker. Samba is just too unreliable when with HassIO in a VM, most of the time I cant get to my files.

Interesting. I have no problems with Samba in VM on UnRaid. I do use the samba addon as though the VM were its own actual machine.

2 Likes

Great stuff.
I started with Hass on Unraid Docker, migrated to UbuntuVM with normal install, moved to RPI with hassio, over to Intel NUC with docker-compose and am now full circling back to Unraid Dockers.

Randomly decided to do a quick search for a hassio vm and this thread came up, 10 minutes later I have a fully working HassioVM. I’ll test it over the coming weeks and see if that is a better way to go than regular dockers, but thank you for the effort neither the less. It’s certainly piqued my interest :slight_smile:

3 Likes

Like you I ended up using a VM vs docker in Unraid…I’ve updated my post above to try and save others from the same struggle but the VM has been far more reliable.

Unfortunately after a week or so the docker container actually started becoming gradually more unstable…with the HassIO container continually stopping itself. I struggled with it for a while but eventually the HassIO container would stop on its own after a few seconds. In addition to the odd orphaned containers and quirky behavior with Unraid recognizing updates even if you don’t want to update, I couldn’t even use the HassIO features (eg take a config snapshot) because of this instability in Unraid.

So I switched over to running HassIO as VM in Unraid and it has been significantly more reliable! I used the video posted here and it’s running great with the VM set to use up to 2 cores with 512MB RAM (keeping the VM footprint t minimal on my 8GB RAM Unraid server) and it’s been far more reliable for over 3 weeks now

1 Like

The VM is much cleaner and everything is consolidated. Trying to use Unraid’s own containers was a fun experiment but quickly became a mess. I still have leftover orphan images that I haven’t figured out how to get rid of.

@cogneato I totally agree! For me, the initial concern was regarding resource sharing and utilization . . . fearing that a VM would require more resources from my fairly limited Unraid server (re-using older hardward with only 8GB RAM)…

But, with shared CPU utilization it’s actually negligible, and after I set up the “systemmonitor” component in HomeAssistant, I can now see that the VM with HassIO uses marginally more RAM than it did in the Docker container. So I’ve been able to decrease my RAM allocation to only 512MB and it’s using only 57% of that but running just as fast, and more reliable.

image

2 Likes

Any one know why the updater shows as unavailable?

image

@digiblur any hints on how i get a BLE dongle passed thru on Unraid (straight docker, no VM)

Otherwise loving your work. So much faster on my server (and i can reuse the nuc i had it on)