Right now I use a Raspberry Pi 3 B+. It works well, but restarts are a bit slow and maybe it’s capabilities might be exhausted in future, when I add more and more things. (I plan to add things like Face and person detection with Deepstack as soon as I understand how to xD)
First of all, what are the advantages/disatvantages of the different ways to run Home Assistant? As I’m not familiar with linux, let alone running VMs on it (passing through USB ports etc), I really appreciate the simplicity of my current setup - especially the Add-On Store Hassio offers. Ideally I’d like to change as little as possible (but as much as makes sense) in the “workflow”.
Secondly, what system should I go with?!
What CPU and how much RAM?
People always talk about Intel NUCs - yeah they are nice and small … but for the price of the i3 (2c/4t) base system (no RAM and SSD), I can buy a complete PC with an AMD Ryzen 3 2200G (4c/4t; if I add 40€ I could get the 2400G which has 4c/8t), including Ram and SSD (and mainboard, case, psu, etc)… which would be a lot more powerful than the NUC - but is it also more capable at running Home Assistant?!
The other thing to consider is power consumption … this system will run 24/7 which probably gives the NUC an advantage over an AMD system…
All in all, the priority is stability and maintaining (most of the) convenience of Hassio’s add-on store.
Which way should I go?
Right now the add-ons I have are: Configurator, Mosquitto, RPC Shutdown, SSH Server, TasmoAdmin, and zigbee2mqtt. I would like to use those in future too
Just purchased intel NUC for this purpose. Migration was easy, Zwave sticks works way faster, History component is very very quick 8 seconds, on my pi was more than 3 minutes… Reboot Hass.io less than 15 seconds… Even my UPS is connected and detected.
A bit expensive but totally worth it.
Intel Boxnuc7i5bnk NUC Kit
Western Digital SD250G3X0C-00SJG SN750 NVMe
8 Gig memory
Cpu runs at 20% with Mariadb,InfluxDB,Nodered,APCUPS,Grafana
There are many existing threads discussing the selection of server hardware. Here are a few examples. Although Intel invented the acronym NUC (Next Unit of Computing) the form-factor has been adopted by other manufacturers. Basically, it’s a motherboard with an energy-efficient Intel CPU and a compact footprint. FWIW, I use an old netbook.
You mentioned that you’re not familiar with Linux or running VMs, but… maybe it’s a good place to start? I actually dived into Linux mostly because of a Pi and Hass, and VPS for my websites… Actually not sure what came first, remote VPS or Hass…
Anyway, I recently did a large write up about how to run Hass.io on a full Ubuntu or Debian OS. It applies to any hardware that can run Ubuntu or Debian, VMs and even Raspberry Pi.
IF you decide to try going VM route I suggest starting with Proxmox. It’s a free open source (though with subscription which is only needed for enterprise use) virtualization host. You install it as any other OS, download ISO from their website and use Etcher to burn it on USB stick, and then boot from USB and proceed with guided installation. If you come across some settings you dont understand during installation - google them in the process or leave at default.
After that you just connect to the IP of your Proxmox machine and port 8006 (https://IP:8006) and you’re at the wonderful web UI interface. Upload an iso of debian or ubuntu, click Create VM and go from it. Passing through USB device is done by - Click on Add Hardware - find the USB device or port you need to pass through - click Add. Done It’s really nothing to be scared about.
But if you dont want to go virtual and want to run hass on dedicated hardware then you are right, using Nuc is huuuuge overkill just for Hass.io. At least install plex addon on it
You may stick with Raspberry Pi and install hass.io on full ubuntu. This way you’ll be able to move your database file on external usb drive or even boot from that drive, and this will be a huge performance boost even with sqlite. You could also install another database server for hass, it’s documented somewhere in the docs.
Database is the main thing that slows hass down - read\write to the SD card is damn slow, dont forget that you run both OS and HASS and database all off a single sd card, it just dies from load
RAM and CPU of RPI are more than enough for HASS, storage and boot drive are the only downsides of it.
So easiest way is to just ditch your Pi and search for other SBCs (single board computers), look for one that has built-in eMMC memory or where you can install your own ssd or hdd drive. Atomic Pi is such an option. ODROID H2 or something along those lines is also an option, though may be overkill too.
You could also look for NUC alternatives, GIGABYTE has some Celeron based BRIX or something. Hass does not really need more than 2 cores and 1-1.5ghz on CPU. Unless you’re doing a lot of image processing automations.
Sorry but NUC is overkill for this use case. As you mentioned yourself it’s only at 20% load. I’m sure you can slap plex on it and it will still be fine. I’m using an old gaming pc for my server, it’s i7-2600k which is not much faster than your i5, and it runs a shitload of services, hass is just a tiny fraction of it all.
As OP mentioned for the price of an Intel NUC (i stress Intel) you can build a better faster system and you may even stay energy efficient - there are lots of energy efficient motherboards with integrated CPUs out there, with small form factor as well.
NUCs are great, sleek and all, but overpriced, IMO. And if I bought it for such a price, I’d just have to use it on 100% (which is not constant 100% CPU load of course, but more services and virtualization).
Just my own opinion. Again if it works for you, great