Home Assistant on Intel NUC

I have been using two configurations for quite some time:

  1. Home Assistant (former Hass.io) on a raspberry pi

  2. Home Assistant Core on a Intel NUC

  3. was not optimal due to the limited hardware, e.g. reboots took forever, I had issues with the SD card; I wouldn’t recommend this setup for more than testing looking back

  4. was a huge step up in terms of performance, but I lost all the convenience that comes with Home Assistant and the easy addon integration (I did want to use the machine for other things, too)

Why is Home Assistant as an application on a more powerful system, e.g., a NUC, not a default recommendation? Am I wrong that this is the setup that many home automation enthusiasts actually want to have?

The Raspberry Pi is a much lower entry point for people to try out Home Assistant. A basic NUC is going to cost 4x the price of a Pi and not everyone wants to spend that to try something. And many people have Raspberry Pi’s sitting in a drawer unused.

So, yes the NUC is a great platform for Home Assistant (personally I have two) but Raspberry Pi is a good place to start for new users.

1 Like

You can run Home Assistant - Supervised (hassio) on a NUC easily with addons etc… lots of people do this. There is even a HassOS image for a NUC you can use but many people just do a generic Linux install of hassio…

The recommendation is a low cost entry suggestion but people move on to something more powerful like a NUC after a while in a lot of cases.

Sorry, I might have to rephrase my point: why is the ‘Home Assistant (not Core) as an application on NUC’ path not described in the getting started section of home-assistant.io? Or am I wrong and just didn’t see it?

I think you just didn’t see it - it’s there.

2 Likes

just install it as a docker on the nuc, much much much easier… then you can fire up a mssql db docker and mqtt docker etc etc.

1 Like

That’s the solution I’ve heard several times, but I can’t find it on the page linked by David. If this is a recommended way to go, shouldn’t it be described there?

Both, thanks for your quick feedback!

See the section “ Alternative: install Home Assistant Supervised on a generic Linux host” towards the bottom. That’s the setup many people have used for running HA / HassIO within Docker on a Linux distro of their choice.

If you think another section for HassOS installs on hardware other than RaspPi would be valuable, go ahead and submit a documentation PR for others to review.

here you go

Install Linux on the NUC and away you go… I’ve just moved away from a nuc back to QNAP, but only as I am trying to consolidate my always on stuff.

Then you can install Portainer, to control the dockers… i.e. stop and start from a GUI (on a different machine)

once you get used to this, you will find it is the best and easiest option to run HA. :slight_smile:

and install docker-compose, so then you can create a yaml file with all your dockers in and you can update them all with 1 command

a sample of 1 of mine

version: '2'
services:
  mqtt:
    container_name: mqtt
    restart: always
    image: toke/mosquitto
    volumes:
    - /sharedfolders/home/Mark/mqtt/config:/mqtt/config
    - /sharedfolders/home/Mark/mqtt/log:/mqtt/log
    - /sharedfolders/home/Mark/mqtt/data:/mqtt/data
    - /etc/localtime:/etc/localtime:ro
    ports:
    - "1883:1883"
    - "9001:9001"



  monitoring:
    container_name: Glances
    image: nicolargo/glances:latest-alpine
    restart: always
    pid: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - "GLANCES_OPT=-w"
    network_mode: host
    privileged: true
  


  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: 'kodi'
      MYSQL_USER: 'root'
      MYSQL_PASSWORD: 'x'
      MYSQL_DATABASE1: 'homeassistant'
      MYSQL_USER1: 'root'
      MYSQL_PASSWORD1: 'x'
      MYSQL_ROOT_PASSWORD: 'x'
    ports:
      # <Port exposed> : < MySQL Port running inside container>
      - '3306:3306'
    expose:
      # Opens port 3306 on the container
      - '3306'
      # Where our data will be persisted
    volumes:
      - /sharedfolders/home/Mark/mysql:/var/lib/mysql
      - /etc/localtime:/etc/localtime:ro

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    restart: always
    links:
     - db:db
    ports:
      - 9191:80
    volumes:
      - /sharedfolders/home/Mark/phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php
    environment:
      MYSQL_USERNAME: ha
      MYSQL_ROOT_PASSWORD: p3terlee
      MYSQL_DATABASE: 'homeassistant'
 #     PMA_HOST: homeassistant

  homeassistant:
    container_name: home-assistant
    restart: always
    image: homeassistant/home-assistant

    devices:
      - /dev/zwave:/dev/zwave
    volumes:
      - /sharedfolders/home/Mark/HomeAssistant:/config
      - /etc/localtime:/etc/localtime:ro
      - /dev/bus/usb:/dev/bus/usb
      - /var/run/dbus:/var/run/dbus 
    network_mode: host
    privileged: true

I run hassos (HA Core?) on a hyperv now on a NUC.

Because I need/want USB devices connected to Home assistant I bought a NUC, tried to install the NUC appliance (hassos) to install… stuck in a boot screen… Seems that there 2 ways of doing it. Copy the image (extract) to the nvme disk - hence too complex for me, I tried really, I tried… but failed.

Other option is to put the image on the nvme disk… well… that is another challenge.

I recommend to make a proper setup file to install HA bare metal on a NUC (so powerfull!).

I don’t see how this is easier than installing add-ons?
I also use Home Assistant Core with docker, but it’s definitely not easier than add-ons and in addition you need to maintain the docker containers yourself.

3 Likes

OK in my opinion I find it easier and you have more control.

https://github.com/home-assistant/operating-system/releases/download/3.10/hassos_intel-nuc-3.10.img.gz

Personally, I prefer simply running the OS on the NUC without the overhead of a linux host OS docker etc… also native support for BLE hardware etc… much more straightforward for me anyway

1 Like

I agree on the control part, but the initial configuration and maintenance is for sure easier by clicking the install button on an add-on instead of configuring stuff inside docker-compose.yml. Probably you are just more a commandline guy? (I am as well)

This is like saying… once you get used to it, you will see that Marmite is the best thing to spread on sliced bread…

There are so many differnt people and use cases, that nobody can make this statement as a one size fits all… each to their own… that is why there are so many options…

2 Likes

hence why I said in my opinion… :slight_smile:

yeah true… I just find dockers so much easier to control/update and more importantly, backup and restore the config/whole system. they are the future

1 Like

they are A future… :slight_smile:

1 Like

now we are heading down a rabbit hole :smiley:

Attended a very interesting full day conference held by VMWare recently… lots of directions - true

I agree on docker being the future, however with Home Assistant (formerly hass.io) your are anyway also using docker :wink:

1 Like