Intel NUC, Ubuntu and Docker - Gotta Love It!

I am far from a Linux Guru or App developer but I can read and follow instructions and do of course have a slightly more than basic understanding of both or I wouldn’t be running HA to begin with. After much thought I decided to move from the Pi I started with to a NUC and I can see now I should have started there. I bought an Intel BOXNUC6CAYH with 8 Gig memory and a 120 Gig SSD. I then loaded it with Ubuntu 18.04 LTS workstation (wanted the GUI) and Home Assistant running in Docker with Portainer and Compose. Thanks to all the good “How To’s” out there I think it took me all of an hour to get things setup and I am running. I use VNC viewer to remote desktop into it. I wanted to get off the HUSBZB-1 and into something with more support (which inspired the new build) and I am sure some future proofing so I got an Aeotec for Z-Wave and a Conbee for Zigbee. I shut down the NUC plugged in the sticks and fired it up. To my surprise they were immediately available to HA and configured in a couple minutes. Overall I think my learning curve on the Pi was no different than the NUC with all the good documentation on how to set it up. What I really like is being able to run other applications in docker. I have already setup Pi Hole in it’s own container and I know will be adding other applications as time goes on.

IMHO if you are new to Home Assistant and not sure of what platform to run it on or thinking of moving off your Pi just go for the NUC. As good as the Pi has been to me there is just a huge amount of versatility you are missing. Hope this helps anyone reading this to decide which way to go.

12 Likes

That’s encouraging. I’ve been wanting to pull the trigger on this, but have dreaded the headache of it all.

There seems to be a lot of different posts and instructions regarding this kind of migration. Do you have a link to those you found most useful? Did you restore a snapshot that you had created on the pi?

I’ve been using the HUSBZB-1 for a while an found it to be solid. What issues are people having it support ability am i missing. I also want to plan for the future. I already have a Nuc. Thanks for sharing

This link can be a bit confusing at first but I learned a lot here, it is not the one I followed for the install but a great reference I read it first.

This one I used for the install it’s a copy and paste. Before you restart your NUC after installing Portainer be sure you open the Portainer web interface and set the Portainer container to restart always if it isn’t already.

https://bitsotech.com/installing-hass-io-on-ubuntu-18-04/

Because I am doing a fresh install with new Z-Wave and Zigbee sticks I did not do a restore but there is no reason you can’t if you are keeping all that the same, just double check the ports are the same. I have selectively copied and pasted things from my .yaml files.

2 Likes

My HUSBZB-1 has been solid but I see more support and ongoing upgrades with the Aeotec and Conbee for the future which was my inspiration to move off them. The only difficulty at the moment is device compatibility with the Conbee but that is growing fast.

Couple of other things to think about as well…

If you are not sure of the difference between Ubuntu Server and Desktop the biggest is the GUI none of the other differences really have much effect for your probable use and did not change any of the installation instructions in the articles I noted earlier. I went with Desktop so I can plug a monitor into the NUC if I want. Do the full install and you can remove all the games and junk you don’t want or need after, this will ensure most modules you want are loaded. This also helped for initial setup as I could just use the terminal window on the desktop while copying and pasting from the web page. If you then want to run headless and use VNC for remote access you will need to buy a Display Emulator (+/- $6) so the NUC think’s there is a monitor attached or you get a black screen remotely. There is a software way of doing this as well but then you lose the local display ability. And lastly when setting up SSH for HA be sure to change the port because you will want 22 available to Ubuntu if you install SSH which I recommend doing. Since most everything in HA uses a 4 digit port I used 2222 for SSH.

My lessons learned bullet points…

1: Install Ubuntu Desktop Version do a full install and remove what you don’t need after
2: Get a Display Emulator for the HDMI Port
3: Be careful about port assignments, change SSH in HA to something besides 22 (I used 2222)
4: SSH is an add on for Ubuntu Desktop below is a link to install.
https://linuxize.com/post/how-to-enable-ssh-on-ubuntu-18-04/
5: VNC Client works well from my Windows 10 Desktop for remote desktop access
6: After installing Portainer open the web interface before restarting anything and be sure the restart
policy is set to “Always”. Go to the Containers Tab and Click on Portainer and scroll down you will
see it.
7: In retrospect I probably should have used the first link to install as I have gone back and made some
changes based on that write up. He does some things that make it easier down the road instead of
the second link which is streamlined a lot but either works well.
8: I did not run the PiHole add on in HA I installed directly to Docker, that is a separate subject I won’t
get into here and there are a couple good write ups if you search Google. The PiHole page also has
instructions.
9: I have seen some write ups on making your Z-Wave and/or Zigbee USB Dongle available to the docker container. I had to do nothing just plugged them in and restarted the NUC and HA saw them, maybe it was earlier versions of Docker or Ubuntu that was an issue… don’t really know.

2 Likes

I couldn’t agree more! My move from Pi B+ to a brand new NUC was, in retrospect, a really damn good decision! I was only 90 days into HA to begin with and if I could do it all over again, I would have started with NUC+Docker+Aeotec Zwave.

1 Like

I wrote something on another post, here’s the link:

Initially, I used a modified snapshot to restore. I modified it by removing deconz addon as my RPi had a Raspbee shield plugged into the GPIO and for the NUC I had to use a Conbee. The Raspbee and Conbee both have the same chip. I had some issues, all down to me, very rookie mistake. I thought I was having problems with DNS as I could not remote using Duck DNS, but it turns out that I hadn’t changed my port forwarding, otherwise install was simple. So during a re-install, I installed the addons and then I copied over the configuration, automation, script, groups and lovelace-ui .yaml files. As fter I was done, I deleted the home-assistant_v2.db, so that there was no legacy info in the database. All running smoothly now.

Don’t forget the other ubuntu flavors. I run my NUC on lubuntu, which is much lighter and runs hassio in a docker amonst others flawlessly. I don’t have a zigbee or zwave so can’t comment on those. But it picks up usb devices for esphome for initial flashing. And being able to restart hassio docker in less than 30 secs is also very nice.

Just to add more options: I’m currently running Proxmox on my NUC with HassOS in a VM via the VMDK. I haven’t tested my USB sticks with this, but I imagine they should work.

Keep in mind that you can actually install the Portainer add-on in Hassio and run any Docker container even if there’s not an add-on for it. If you’re only running Docker containers, you could use HassOS as your base instead of Ubuntu.

Regardless, I highly recommend the NUC. It’s just a better experience in almost every regard.

I actually wish the documentation and development wasn’t so heavily focused on the rpi because people assume then that it will work flawlessly on there, which it often doesn’t. It’s a great device to test and tinker with something new, but for any serious usage a NUC or similar seems to be the way to go.

And can you guys use presence detection via bluetooth on NUC?

That is a great question… I personally don’t use bluetooth. When I was using a Pi the distance was too limited, 30 to 40 feet, so I use WiFi through my router for presence detection. It covers not only my house but my whole yard. When I went to the NUC I turned off Bluetooth in the Bios so I would have one less radio running that I didn’t need.

Has anyone tried Bluetooth on a NUC?

I would like to use wi fi, but it turns off on iphones while they go asleep, so wi fi detection is pretty useless. And changing “consider_home” to 15 minutes is not a solution
Did you solve that somehow?

I set my phones to keep WiFi always on. Depending on the phone you may or may not have that option. I have my automations using “group.all_devices” in my automations so it is looking at both my wife’s and my cell phone not just one. I do not have any automations for one phone or the other they are all using “if we are both home or not at home” The difference I have seen in battery usage on the phone has been minimal at best. Depending on your use Bluetooth could be the better option for me WiFi was due to the size of my house, it is very long and I easily get out of range. I may try the Bluetooth on the NUC it may have better range than the Pi did. I know my phone will go up to 300 feet (91 meters) but the Pi was 30 to 40 feet ( 9 to 12 meters).

Okay so I tried it… I needed to shutdown the NUC to move it and turned bluetooth back on. I added Bluetooth as the device tracker and commented out my router and restarted HA. It came up no problem, I scanned for bluetooth devices while my NUC was coming up, never connected to it just scanned and my phone was in HA. Also the NUC I am using has great range unlike the Pi and see’s my phone no matter where I am in the house. I think I am going to stay with the Bluetooth so I can stop scanning my router for status.

It is cool that you tried and I am glad it even was useful for you! And for me of course, now I know the answer :slight_smile:

A NUC is good if you need to make VMs, but if you just need to run HA it’s overkill.
Personally I’m running Hassio with docker on Orange pi plus 2e and everything is smooth.
The important things is to have EMMC memory on these little ARM pc.

1 Like

or you want to run more than just the home assistant container, and put an entire stack on there that would kill a pi.

Are you running any virtualization? I’ve been thinking about getting a NUC for awhile (I’m cheap and am currently fighting with my raspi on a regular basis; crashes) and was thinking of doing a swarm of vm’s using docker… Though I’m not sure I’ll get much value out of that setup except to say I get some education out of it…

Your going to run VMs from docker? How?