Installation von Homebridge als Docker-Container-Anwendung auf Raspberry Pi

Raspberry-Pi: Betriebssystem installieren und Grundeinstellungen vornehmen

Über die Installation der Raspian-Distribution gibt es genügend Anleitungen im Netz. Zu beachten ist lediglich die Vorbereitung für den SSH-Zugang. Der ssh-Dienst ist standardmäßig nicht bei neuen Raspian-Images aktiviert. Um ihn zu aktivieren legt man in der /boot-Partition der SD-Karte eine Datei mit dem Namen ssh an.

Im macOS Terminal und gemainteter SD-Karte verwendet man den folgenden Befehl touch /Volumes/boot/ssh

Installation von Docker auf Raspberry Pi

Docker GPG-Schlüssel hinzufügen:

curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo apt-key add -

Hinzufügen des Repository:

echo "deb [arch=armhf] https://download.docker.com/linux/raspbian stretch stable" | sudo tee /etc/apt/sources.list.d/docker.list

Docker installieren:

sudo apt-get update
sudo apt-get -y install docker-ce

Pi-Benutzer der Docker-Gruppe hinzufügen

sudo usermod -aG docker pi && logout

Verwendung von docker-compose

Ich verwende das Tool docker-compose, um eine Manifest-Datei (XML) mit den Einstellungen für den Docker-Container zu erstellen.

docker-compose installieren

sudo apt-get -y install python-setuptools
sudo easy_install pip && sudo pip install docker-compose

Erstellen eines Docker-Manifests

Vor der Erstellung der Manifest-Datei lege ich im Home-Verzeichnis des Pi-Benutzers den homebridge-Ordner an.

mkdir /home/pi/homebridge
cd /home/pi/homebridge

Hier wird nun das Manifest erstellt:

vim docker-compose.yml

Diese Datei hat folgenden Inhalt:

version: '2'
services:
homebridge:
image: oznu/homebridge:raspberry-pi
restart: always
network_mode: host
volumes:
- ./config:/homebridge
environment:
- PGID=1000
- PUID=1000
- HOMEBRIDGE_CONFIG_UI=1
- HOMEBRIDGE_CONFIG_UI_PORT=8080

In dieser Manifest-Datei ist festgelegt, dass:

  • das verwendete Docker-Image oznu/homebridge heißt und das Tag raspberry-pi benutzt wird
  • der Container bei einem Neustart des Systems automatisch gestartet werden soll
  • die Homebridge-Konfiguration von einem Volume gelesen wird
  • Netzwerk-Einstellungen vorgenommen werden

Homebridge starten

Nun kann Homebridge als Docker-Container (als Daemon) gestartet werden:

docker-compose up -d

Insbesondere beim ersten Start der Anwendung kann der Vorgang einige Zeit in Anspruch nehmen, da zunächst das Image herunter geladen werden muss. Der Fortschritt lässt sich über die Log-Dateien anzeigen:

docker-compose logs -f

Diese Log-Ausgabe sieht in etwa so aus:

Das Web-Interface der Homebridge ist unter der folgenden URL erreichbar:

http://{ip-adresse-des-raspberrypi}:8080

Mit Benutzername admin und Passwort admin kann man sich auf der Web-Konsole anmelden.

Durch Abfotografieren oder Eingeben der Zahlen-Kombination wird die Homebridge-Instanz mit der HomeKit-App verbunden.