HA Installation Path - Which Route to Take?

I’m currently running HASSIO on a RPi3 and want to move to a more powerful system with some real integrated storage. I’ve also been having issues with my RPi locking up every couple of days. My HA system isn’t heavily integrated into daily life yet, so it is typically not a huge headache. However, I am running the PiHole addon which then seems to take some parts of my network offline when the RPi locks up. There is a fail-over DNS specified in the router, but it seems some devices do not get the message and lose access to the 'net. I digress.

So my options are pretty open in regards to what I can do. I have the following systems available:

Raspberry Pi (3B & 3B+)

FreeNAS server (running 11.2, 3.3ghz 2/2 celeron, storage for days, 16gb ram, could use a RAM bump) - sits around 45W
-This box is always running and hardlined to network with UPS backup

Win10 Pro Machine (former eth miner), 2.9ghz 2/2 celeron, SSD drive, 8gb RAM) - sits around 40W
-This machine is currently offline. It needs a purpose or a new home. This machine could be formatted and turned into a pure Linux box.

Win10 Pro Gaming PC, 4.5ghz 4/8 Skylake, SSDs HDDs, 16gb RAM) -

  • Machine runs 24/7, though it can be up and down for updates or power outages

I have started trying to set up a docker system within FreeNAS’ VM system. The docker route within FreeNAS uses RancherOS as the starting image. What this means is that there are some core Linux things that are missing from the kernel. I am fledgling with Linux at best, but I can learn quick. What this means is that I have run into snags with Rancher when running scripts because some core Linux things aren’t in Rancher. I started down this route last night but wanted to get others opinions on what might be the least painful route for running and maintaining a working HA system. I would like to have fewer machines to maintain if possible. The RPi platform is nice, but I’d prefer use it for tinkering projects that I don’t deem critical to household happiness. I plan on integrating some form of Zwave USB stick in the near future as well, but I am not sure how that plays into my options. I want the system to be operating on Docker, as it allows me to get an infrastructure in place to use other containers for any sort of project I might think up.

Should I run everything from the FreeNAS box in a VM? I could stick to the RancherOS or use a Ubuntu Server VM on that box. Or should I run a VM on the spare Win10 box? I could run a dev copy of the VM on my main gaming rig. Should I just wipe the win10 from the box and run pure ubuntu server on the spare machine?

Thanks in advance for the insight!

So, there’s no wrong answer here, just a bunch of trade offs:

  • Pi - simple, straightforward
  • FreeNAS - proper server, on UPS. Gives you great headroom and reliability. There’s even an install option directly on the NAS, no messing with VMs required. That wouldn’t support Hass.io’s add-ons though (which I suspect may not matter to you).
  • Former Windows system - if it’s going up and down for power outages… maybe not so much. You could run Hass.io here relatively easily if you wanted though.

Z-Wave USB sticks will work with all of those.

Personally, I’d look at hosting it on the FreeNAS box in some way. Whether that’s a direct install, or a VM running Docker, it seems like the best overall choice.

+1 for FreeNAS. Not that I’m partial or anything but this will get you going pretty quick. :wink: (shameless self-promotion) My (outdated) Quick Start for Home Assistant Core on FreeNAS 11.2 There’s a scripted install for a standard-jail or plugin and updated manual installation guide for running HA in a virtualenv.

@Tinkerer - Thanks for your input! I was thinking the same thing. I actually like running Hassio for the purposes of grabbing addons quick and not having to dig into as deep of instructions to get something integrated with HA. I don’t mind the work, but I find myself severely limited on time these days. So migrating my existing install from my RPi to the docker-VM is pretty painless. If I find some sort of resource limitation on the FreeNAS box I’ll probably convert the former windows system to linux. It can be moved and hooked to the UPS without too much grief, so power outages wouldn’t effect it. My gaming PC is the one that is not run through a UPS, and has small hope in that occurring.

@troy, I saw your post today actually. I was curious why you chose to go the route of building it up via the jails system in lieu of running it on the Rancher VM route? To me it seems like there is a cleaner route to rebuilding the group of addons/services using docker (via compose or portainer) than what is possible via the jails setup with FreeNAS. My experience is extremely limited however. What I am not a huge fan of is the overhead that I’m using by running a VM within FN to use docker. I did try the rancher method but there seems to be a lack of tutorials and information for someone at my skill level to navigate the differences between rancherOS and ubuntu. However, I will say your tutorial post is pretty amazing in terms of its content and structure!

The first and biggest reason… Hass.io did not exist back when I first started using Home Assistant. And also like you said I don’t like the overhead of a VM. I really like iocage and how it works directly with zfs (read snapshots) and that I don’t have to dedicate specific resources to any particular jail. Plus I use a Z-Wave, (at first, Aeotec Gen-5) and now the HUSBZB-1 USB controller. No problems for HA to access them with iocage. I could be wrong but I’m pretty you can not directly pass a USB to HA inside a docker.

I’ve been using Ubuntu and Arch Linux for maybe 10 years so by now I’m pretty comfortable doing things on the command line. Also that made it relatively easy to follow the Linux guides to get things working on FreeNAS. Besides Home Assistant I would only be using 5 add-ons. The trade-offs just aren’t worth it for me.

Mine too, especially when it comes docker. I’m not even sure what you mean. :upside_down_face: I’m not trying recreate hass.io on FreeNAS, although if I was just a little bit smarter :thinking:… ha ha! Really I’m just sharing what I’ve (mostly) done for myself anyways.

Thank You! I guess you can say that it’s 4th revision. I tried to include as much as I could to answer all the questions that have come up through out the threads of previous guides.