Docker or Dedicated RPI4

Hi there,

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)

My question:

  • What do you prefer? Docker or RPI4?
  • Why do you prefer this?.

Kind Regards,

Maurice

I recently moved from Docker on a QNAP NAS to RPi with an USB SSD. Reasons for moving;

  • NAS Processor would often reach 100% due to other running processes. When this happened HA would take a while to respond.

  • Version updates on Docker took longer and required exacting precision when creating the new container for the update.

If you move to RPi, be sure to use USB boot on either a USB thumb drive or SSD. I’m using an SSD - lightening fast response.

Robert

1 Like

Alright. Good reason.

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.

2 Likes

And what about supervisor for addons?. I’ve installed Home Assistant from within the Synology Docker database but that is without supervisor.

RPi4 4Gb boot SSD without SD card
Separate automation system.
Low consumption.

1 Like

Thats right. I’m running it on an M.2 sata so i need to have a spare one at all times :stuck_out_tongue:

Everything has its pros and cons. I own a NAS and the board died so even RAID wouldn’t help me.

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.

A VERY quick search gets me to this:

Don’t know if that applies to your situation tho.

Hey how did you get the pi4 to boot hassio on ssd, i tried a few times never got it to work, only raspbian will boot from the ssd

Do you use HA alone on that pi? or some other tools as well? May I know your RAM specifications?

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).

Best regards

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.

1 Like

I have been trying to update my RPI 4 to Python 3.8 with out success on several attempts. Would you post your procedure? Thank You

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

$ sudo reboot

you should be done…