Way forward from a Pi3

I have been running Homeassistant, Influxdb and Grafana together with some scripts on a Raspberry PI3 now for about a year and a half. As my config is rapidly expanding (about 90 sensors and 40 actuators) the system is starting to be very slow.

As a solution I have bought myself a NUC7PJYH which should be total overkill for Homeassistant. I now need to decide on the way forward. I have limited my options to the following:

  1. Install Ubuntu Server and install Homeassistant on that in a Python venv
  2. Install Ubuntu Server and install hass.io container in Docker
  3. Install Ubuntu Server, Portainer and install hass.io
  4. Do something else :sunglasses:

As my experience with Docker is next to none, but I am willing to learn I would like to ask this community some advice on the way forward. My requirement is to be able to run Homeassistant, Influxdb, Grafana and in the future MotionEye. All needs to run on a headless NUC.

Who can give me some advice on the best approach?

I did the same upgrade:

NUC running proxmox virtualization, Ubuntu VM and HomeAssistant, MotionEye (and all other services) in Docker containers.

I have a NUC with Ubuntu Server with docker installed. Installed hassio and mqtt, node red, xeoma DVR all in Docker. Works flawless and only used for this. Way overkill but worth every €

@fversteegen, I moved from RPI to a NUC running ubuntu 18.04 and docker. Best decision ever!
You can install and drop containers as much as you want and it wont break anything.
Play around with a package and break it? No problem, dump it and install again in minutes.
I strongly recommend it!

1 Like

Ok, but how would it then work with, for example, Udev rules? Are those then set at the host system or inside the container?

@piotr isn’t Proxmox used only for VM’s?

Correct, Proxmox is the virtualization server, I run multiple VM’s on my NUC. USB devices can be forwarded to the VM’s, you set the udev rules on the VM, not the host.

Thanks @piotr the question around Udev rules was primarily meant for @juan11perez

not an expert, but what I did was add the usb to the docker user group and then in the specific container using the usb you need to add it as a device.

I still use Rancher 1 as an Docker Orchestrator, but I’m planning to upgrade to version 2 of Rancher which is Kubernetes based.

See my topic:

I do number 4. A different Linux distro, and Home Assistant in Docker (not hassio)

Ok, based on the feedback here I will install Ubuntu Server 18, Portainer and try to see if the Docker road works for me. Will let you all know if it is satisfactory :slight_smile:

So I got my NUC and installed Ubuntu Server 18.04, Docker and Portainer. I have to admit: never thought this would be so easy to migrate everything! I created the Udev rules inside Ubuntu and then mapped them inside Portainer. Only thing I did not manage to get up and running is Bluetooth.

Unfortunately the Homeassistant UI isn’t as fast as I hoped it would be, but that might also have to do with the amount of devices I have installed.

Thanks for your guidance!

I did similar to pitor, and went for a NUC, but rather than proxmox, I went VMware esxi.
One of the virtual machines is a docker host (running on header-less Debian), which is where HA runs, plus portainer, jenkins, and a couple more things. Note I run HA not hass.io

I’ve also got other VMs doing various different things, e.g. some development machines, dedicated VMs for an intranet and web server, proxy, etc. Some of these things might over time shift to docker, but there’s always going to be some requirement that needs a machine, not a container, and there’s enough power in the i5 or i7 NUC to run these.

For those interested, as I felt my way through the ESXi setup, getting backups working, etc, I detailed it all in my blog here: https://tinyurl.com/pembovm

Have you had more experience with the system since your post? What is your generel feeling in regards to speed, is it in real life better than the Pi in everyday use?

Reason for asking is that I am having Hassio on a pi and in the user interface it is very snappy. It might be slow to restart, but that is not a big deal for me, as I don’t do it that often. I am however using Appdaemon and for the motion sensors it is a bit slower than integrated YAML, I am not sure if moving to better hardware will actually solve that or it is some kind of latency between Hassio and Appdaeomon. Trying Node Red was even worse, which is what points me in the direction that it could be the Pi that is underpowered.

I do not want to return back to the Pi days anymore :slight_smile:

The speed is absolute perfect even with running Motion, Facebox and several other containers on the same NUC. CPU usage is hardly ever above 20% and memory consumption about the same.

Even though I expected Docker/Portainer/Ubuntu to have a steep learning curve it is really easy to do in reality. I am also running Appdaemon on the NUC but to be honest I haven’t done much with it so far. I don’t use Nodered at this moment but I believe I have it up and running on Docker already for future use.


May I ask what the power consumption of the nuc is compared to the rpi3?

And how loud is it running all the containers?

FWIW I have docker running inside a container on proxmox. It should use less overhead than a vm running Ubuntu and docker.

1 Like

I have never checked the power consumption on my NUC but the sound from it is minimal. I have quite a few containers among them one DVR Xeoma and the Traccar server. Never over 20% memory, most is probably the DVR

It would be cool if you could measure the consumption…