For the moment, i’m running my Home Assistant instance on a dedicated Raspberry Pi 4 (4GB), with an SSD attached.
I also have a Synology DS218+ with docker installed. (RAID.1)
But what if your SSD (in worst case) dies?. Then you have to put in a new one and restore a backup.
I’m currently running on a Pi4 with SSD (still booted from SD)
When on the other hand. A NAS in raid would catch that breakdown and it’s possible to just swap the HDD.
That’s were snapshots come into play. Although RAID may ensure HA remains available, it wouldn’t take long create an image on a new SSD then import the snapshot.
I’ve been using HA in Docker for almost 2 years and have never had any issues with updates or CPU (aside from a CPU issue caused by a recent update of HA of the templating engine - once the templates were fixed then no more issues).
I highly recommend Docker for ease of updates and maintenance.
You can still install a Supervised version of HA on the NAS. I think… If there isn’t a pure synology docker image then can’t you run a Debian VM and install HA Supervised on that?
I don’t use Synology but I’d be surprised if there isn’t a HA Supervised Docker image.
Hello, I am using HA in a venv on a Rpi4 (2 GB) with a SSD but still booting from the SD card as it was available before the native SSD boot (maybe I will investigate to boot directly from the SSD)…
I have two locations controlled by HA, so two Raspberri Pi’s (one “master” (automations + user interface/dashboard) and one “slave” (just automations)) talking to each other via Internet and MQTT.
I am using other tools than HA on the Rpi4:
Nagios to control my equipments connected to the Lan’s and controlling each other HA instances… Nagios is installed on both Rpi’s…
Mosquitto (MQTT) installed on the “master” Rpi.
MariaDB as the HA database on both Rpi’s
two Huawei 3G modem’s to send and receive SMS, these modem’s are used by HA and Nagios, one installed on each Rpi
two RfxTrx to control the stores (Somfy) and Dio equipments, one installed on each Rpi
My environment:
Raspbian Buster
HA 0.116.4
Python 3.8.6 (recently implemented)
So I choose to install in a venv:
for flexibility reasons but this requires sometimes more maintenance (like the upgrade to python 3.8.6 but it took me about 30 minutes to implement it and about two hours to gather information from the web to build the install procedure step by step).
I had a similar issue prior to achieving success. Turned out the SSD was not formatted correctly. There were a number of partitions on the disk. The disk once ran Windows 10. Only by deleting all partitions, formatting the disk then copying HA to the SSD was I able to boot HA from the SSD. You may wish to check for multiple partitions on the SSD and delete them if they exist.
I don’t run on a Pi. I run it on a NUC i3 4GB ram.
Sorry about that. I should have been more clear.
The original question was a actually a false dichotomy but from the context of the question I answered I assumed that “docker but not on a Pi” was understood to be what I meant.
I’ve got no experience with Docker running on a Pi. But I know others do it so it can’t be too bad.
@dhaker Here is the procedure I used to upgrade two Rpi’s …
Environnement:
HA 0.116.4 in a venv (located at /srv/homeassistant) with Python 3.7.3 (Raspbian Buster)
running HA with “homeassistant” username
configuration files stored in /home/homeassistant/.homeassistant
UPGRADE HA TO A NEWER PYTHON VERSION
–> New Python Installation using Pi
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get dist-upgrade
$ cd ~
$ sudo apt-get install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev tar wget vim
$ wget https://www.python.org/ftp/python/3.8.6/Python-3.8.6.tgz
$ sudo tar zxf Python-3.8.6.tgz
$ cd Python-3.8.6
$ sudo ./configure --enable-optimizations
$ sudo make -j 4
$ sudo make altinstall
$ cd …
$ sudo rm -f Python-3.8.6.tgz
$ sudo rm -rf Python-3.8.6
==> RECREATE DEVELOPMENT ENVIRONMENT FOR MariaDB
$ sudo apt-get install libmariadbclient-dev
==> CREATE NEW VENV ENVIRONMENT FOR HA
==> UPGRADE HA TO THE LATEST VERSION FIRST !
==> EXECUTE A BACKUP OF YOUR HA ENVIRONMENT WHEN UPGRADED
# stop home assistant
$ sudo systemctl stop homeassistant@homeassistant
$ cd /srv
# keep the old venv environment in case of problem
$ sudo mv homeassistant/ homeassistant_old_env
# create the new virtual environment
$ sudo mkdir homeassistant
$ sudo chown homeassistant:homeassistant homeassistant
$ sudo chmod 755 homeassistant
# become homeassistant user
$ sudo su -s /bin/bash homeassistant
$ cd
# make a backup of home assistant configuration files
$ mkdir .homeassistant_backup
$ cp -a .homeassistant/. .homeassistant_backup
# generate the new virtual environment venv
$ cd /srv/homeassistant
$ python3.8 -m venv .
# install home assistant in the virtual environment
# install the client to access MariaDB
$ source bin/activate
$ pip3 install homeassistant
$ pip3 install mysqlclient
# start home assistant
$ hass
==> WAIT A COUPLE OF MINUTES, than press Ctrl + C
==> Analyze any error message
$ deactivate
$ exit
==> This next step can take a while as HA has to reload any missing tools