Willkommen zurück auf myHome.zone! Wir sind mittlerweile beim siebten Teil meiner Serie „Raspberry Pi als Heimserver“ angekommen. Heute widmen wir uns endlich dem Herzstück eines jeden modernen Smart Homes: Home Assistant.
In den letzten Beiträgen haben wir das Fundament gelegt – wir haben den Raspberry Pi vorbereitet, Docker installiert, Portainer als grafische Oberfläche eingerichtet und bereits die ersten Container in Betrieb genommen. Jetzt wird es Zeit, diese Basis zu nutzen, um die mächtigste Open-Source-Software für Hausautomation zu installieren. In diesem Beitrag zeige ich dir, wie du Home Assistant als Docker Container installierst und in Betrieb nimmst. Dabei verzichte ich bewusst auf das komplette Home Assistant OS, um unseren Pi weiterhin flexibel für andere Dienste zu halten. Egal ob du die Kommandozeile bevorzugst oder lieber bequem über Portainer arbeitest – ich habe beide Wege für dich dokumentiert.
Lass uns gemeinsam dein Zuhause intelligent machen!
Was ist Home Assistant eigentlich?
Bevor wir uns in die Konfiguration stürzen, lohnt sich ein kurzer Blick darauf, was wir hier eigentlich installieren. Home Assistant ist eine Open-Source-Plattform für die Hausautomation, die den Fokus ganz klar auf Privatsphäre und lokale Steuerung legt.
Gegründet wurde das Projekt im Jahr 2013 von Paulus Schoutsen. Seine Vision war es, eine Plattform zu schaffen, die verschiedene Smart-Home-Systeme unter einem Dach vereint, ohne dass die Daten zwingend in eine Cloud gesendet werden müssen. Was als kleines Hobby-Projekt begann, hat sich zu einem der größten und aktivsten Open-Source-Projekte auf GitHub entwickelt.
Hinter Home Assistant steht heute die Firma Nabu Casa, die ebenfalls von den Gründern ins Leben gerufen wurde. Das Geniale dabei: Nabu Casa finanziert die Weiterentwicklung der Open-Source-Software, bietet aber optional kostenpflichtige Cloud-Dienste (wie die einfache Anbindung an Alexa oder Google Assistant) an, um das Projekt nachhaltig zu finanzieren.
Ein paar beeindruckende Zahlen gefällig?
-
Es gibt mittlerweile über 2.500 offizielle Integrationen für verschiedenste Geräte und Dienste.
-
Die Community erstellt monatlich tausende von Pull-Requests.
-
Home Assistant ist die zweitaktivste Python-Community auf GitHub weltweit.
Diese Statistiken zeigen deutlich: Mit Home Assistant setzt du nicht auf eine Bastellösung, die morgen verschwunden ist, sondern auf den aktuellen Industriestandard im FOSS-Bereich (Free and Open Source Software).
Die Qual der Wahl: Installationsmethoden
Wenn du dich auf der offiziellen Webseite umsiehst, wirst du feststellen, dass es verschiedene Wege gibt, Home Assistant zu betreiben. Für Einsteiger wird oft das Home Assistant OS (HA OS) empfohlen. Dabei handelt es sich um ein komplettes Betriebssystem, das deinen Raspberry Pi exklusiv für Home Assistant reserviert.
Home Assistant OS vs. Home Assistant Container
Das HA OS hat unbestreitbare Vorteile:
-
Supervisor: Ein System, das den Core und Addons überwacht.
-
Addons: Du kannst mit wenigen Klicks weitere Software (wie MQTT Broker, Node-RED oder Datenbanken) direkt innerhalb der Home Assistant Oberfläche installieren.
-
One-Click-Updates: Das gesamte System lässt sich extrem einfach aktualisieren.

Warum entscheiden wir uns in dieser Serie also dagegen? Ganz einfach: Flexibilität. Da wir unseren Raspberry Pi als Heimserver konzipiert haben, wollen wir die volle Kontrolle über das zugrundeliegende Linux-System (in unserem Fall meist Raspberry Pi OS Lite) behalten. Wir haben in den vorherigen Teilen der Serie bereits Portainer und andere Container installiert. Würden wir jetzt HA OS auf die SD-Karte flashen, würde der Pi ausschließlich für Home Assistant nutzbar sein und wir würden unsere bisherige Arbeit überschreiben.
Wir installieren daher den Home Assistant Container. Das ist die reine Core-Software. Der „Nachteil“ ist, dass wir keine Addons über die Home Assistant Oberfläche installieren können. Aber da wir Docker und Portainer beherrschen, ist das für uns kein wirkliches Problem: Wir installieren benötigte Zusatzdienste einfach als separate Docker-Container daneben. Das ist der „Docker Way“ und passt perfekt zu unserer Philosophie eines modularen Heimservers.
Voraussetzungen
Damit du der Anleitung folgen kannst, muss dein Raspberry Pi einsatzbereit sein. Folgende Punkte sollten erfüllt sein:
-
Raspberry Pi (Modell 3B+ oder 4 empfohlen) mit installiertem OS.
-
Installierte Docker Engine.
-
Laufender Portainer Container (für die zweite Methode).
Falls du hier noch Lücken hast, kein Problem! Schau dir einfach die ersten beiden Beiträge meiner Serie an. Dort habe ich die Grundinstallation detailliert erklärt: Zur Raspberry Pi als Heimserver Serie
Methode 1: Installation über die Kommandozeile (CLI)
Für die Puristen unter uns, die gerne direkt im Terminal arbeiten, ist der „docker run“ Befehl der schnellste Weg. Laut der offiziellen Dokumentation sieht der Befehl wie folgt aus. Ich habe ihn für unsere Zwecke etwas analysiert.
Verbinde dich per SSH auf deinen Pi und führe folgenden Befehl aus:
Shelldocker run -d \ --name homeassistant \ --privileged \ --restart=unless-stopped \ -e TZ=Europe/Berlin \ -v /home/pi/homeassistant_config:/config \ -v /run/dbus:/run/dbus:ro \ --network=host \ ghcr.io/home-assistant/home-assistant:stable
Wichtige Hinweise zu diesem Befehl:
-
–network=host: Dies ist essenziell. Home Assistant muss das Netzwerk nach Smart-Home-Geräten scannen (Discovery). Das funktioniert in der isolierten Bridge-Netzwerkumgebung von Docker nur sehr eingeschränkt. Mit „host“ darf der Container das Netzwerkinterface des Raspberry Pi direkt nutzen.
-
-v …:/config: Hier werden deine gesamten Einstellungen gespeichert. Passe den Pfad vor dem Doppelpunkt so an, wie es für deine Ordnerstruktur am besten passt. Alternativ kannst du auch ein Docker Volume nutzen, trage dazu einfach „homeassistant“ vor dem Doppelpunkt ein. Ohne dieses Volume sind alle deine Einstellungen nach einem Neustart des Containers weg!
-
–privileged und /run/dbus: Diese Einstellungen sind wichtig, damit Home Assistant auf Hardware-Ebene (z.B. Bluetooth oder USB-Sticks) zugreifen kann.
Methode 2: Installation über Portainer Stacks (Empfohlen)
Da wir in meiner Serie Portainer nutzen, ist der Weg über einen „Stack“ (was im Hintergrund docker-compose nutzt) wesentlich eleganter. Es ist übersichtlicher und lässt sich später leichter anpassen.
So gehst du vor:
-
Portainer öffnen: Logge dich in deine Portainer-Weboberfläche ein.
-
Stacks auswählen: Navigiere im linken Menü zu „Stacks“.
-
Stack hinzufügen: Klicke oben rechts auf den Button „+ Add stack“.
-
Namen vergeben: Gib deinem Stack einen klaren Namen, ich empfehle schlicht homeassistant.
-
Web-Editor nutzen: Wähle die Option „Web editor“.
-
YAML-Code nutzen: Kopiere nun den folgenden YAML-Code in das Editor-Fenster:
YAMLservices: homeassistant: image: "ghcr.io/home-assistant/home-assistant:stable" container_name: homeassistant restart: unless-stopped network_mode: host privileged: true environment: - TZ=Europe/Berlin - DISABLE_JEMALLOC=true volumes: - data:/config - /etc/localtime:/etc/localtime:ro - /run/dbus:/run/dbus:ro volumes: data:Erläuterung der Konfiguration
Lass uns kurz die Details im Stack durchgehen, damit du verstehst, was du da tust:
-
image: Wir nutzen das offizielle Image (stable). Das garantiert, dass wir eine getestete Version erhalten.
-
network_mode: host: Wie oben erwähnt, unerlässlich für die Geräteerkennung.
-
environment:
-
TZ=Europe/Berlin: Setzt die Zeitzone korrekt, damit deine Automationen (z.B. „Licht an bei Sonnenuntergang“) zur richtigen Zeit laufen.
-
DISABLE_JEMALLOC=true: Dies ist ein spezieller Tweak für Home Assistant. Es kann helfen, die Speicherfragmentierung zu reduzieren, was auf Systemen mit begrenztem RAM (wie dem Pi) zu einer besseren Performance führen kann.
-
-
volumes:
-
data:/config: Hier nutzen wir ein von Docker verwaltetes Volume namens „data“. Das ist in Portainer sehr komfortabel. Alternativ kannst du hier auch einen absoluten Pfad (Bind Mount) angeben, wie in Methode 1.
-
/etc/localtime: Synchronisiert die Zeit des Containers mit dem Host.
-
-
-
Umgebungsvariablen prüfen: Scrolle etwas herunter. Falls du spezielle Anpassungen brauchst, kannst du das hier tun, aber der Code oben beinhaltet bereits das Wichtigste.
-
Deploy: Klicke auf den blauen Button „Deploy the stack“.
Portainer lädt nun im Hintergrund das Image herunter. Da das Image einige hundert Megabyte groß ist, kann das je nach Internetverbindung einen Moment dauern. Hol dir also ruhig einen Kaffee.
Der erste Start & Einrichtung
Sobald der Status in Portainer auf „running“ (grün) wechselt, ist der große Moment gekommen. Öffne einen neuen Tab in deinem Browser. Die Adresse lautet: http://<IP deines Raspberry Pi>:8123 (z.B. http://192.168.178.50:8123).
Du solltest nun vom Willkommens-Bildschirm von Home Assistant begrüßt werden. Der Assistent führt dich durch die Ersteinrichtung:
-
Benutzerkonto: Erstelle deinen ersten Admin-User. Wähle ein starkes Passwort!
-
Standort: Setze deinen Standort auf der Karte. Das ist wichtig für wetterabhängige Automationen und die Anwesenheitserkennung („Zuhause“ vs. „Abwesend“).
-
Analysedaten: Du kannst entscheiden, ob du anonyme Daten teilen möchtest.
Nach dem initialen Setup landet du auf dem Dashboard. Home Assistant hat vermutlich im Hintergrund bereits dein Netzwerk gescannt. Du wirst wahrscheinlich Benachrichtigungen sehen, dass neue Geräte gefunden wurden (z.B. dein Smart-TV, Drucker, Apple TV, Shelly-Geräte oder dein Google Home Speaker).
Dies ist der Moment, in dem die Magie beginnt. Klicke auf „Konfigurieren“ bei den erkannten Geräten, und schon sind sie in deinem Smart Home integriert.
Ein Blick in die Zukunft: Zigbee, HACS und mehr
Du hast jetzt eine laufende Home Assistant Instanz auf deinem Docker-Heimserver. Herzlichen Glückwunsch! Das ist der erste Schritt in ein wirklich smartes Zuhause.
Da dies eine sehr umfangreiche Thematik ist, werde ich in den nächsten Wochen eine neue Beitrags-Serie starten, die sich speziell und vertieft mit Home Assistant beschäftigt. Dort werden wir uns anschauen:
-
Wie man Dashboards baut, die nicht nur funktional, sondern auch hübsch sind.
-
Wie man komplexe Automationen erstellt.
-
Die Installation von HACS (Home Assistant Community Store), um Zugriff auf Tausende von benutzerdefinierten Themes und Integrationen zu erhalten.
Wenn du den Start dieser Serie nicht verpassen willst, abonniere am besten meinen RSS-Feed oder schau regelmäßig auf der Tag-Seite vorbei: Home Assistant Beiträge auf myhome.zone.
Hilfe bei Problemen – Mein Tipp
Solltest du jetzt schon tiefer einsteigen wollen und auf spezifische Hardware-Fragen stoßen – zum Beispiel: „Wie reiche ich meinen ConBee II Zigbee Stick genau an diesen Docker Container durch?“ – dann habe ich einen Tipp für dich. Diese Fragen hängen oft stark von deiner individuellen Hardware ab.
Stelle diese Fragen doch an Google Gemini. Die KI ist hervorragend darin, Docker-Compose-Files zu analysieren und dir die passenden Device-Mappings für USB-Sticks zu generieren. Ich habe in meinem Beitrag „Google Gemini – Dein digitaler Helfer“ bereits ausführlich darüber berichtet, wie gut Gemini als „Pair Programmer“ für solche Aufgaben funktioniert. Probier es mal aus!
Hast du noch Fragen?
Hast du noch Fragen zu diesem Beitrag? Dann ab damit in die Kommentare oder schreib mich über Mastodon an.
Dies könnte dich auch interessieren…
Du möchtest weitere Inhalte von mir lesen? Schau doch mal hier: Langzeitbericht: Google Pixel 8

