Home Assistant ist eine der beliebtesten Lösungen, wenn es darum geht, Geräte im Smart Home zentral zu steuern, Automationen zu erstellen und verschiedene Hersteller in einer Oberfläche zusammenzuführen. Ob Shelly, MQTT, Zigbee, ESP32-Projekte oder klassische WLAN-Geräte: Home Assistant bietet eine sehr flexible Plattform für viele Smart-Home-Szenarien.
In diesem Beitrag zeige ich dir, wie du Home Assistant unter Fedora Linux installierst. Dabei nutzen wir nicht Home Assistant OS, sondern die Container-Variante mit Docker Compose.
Das ist besonders praktisch, wenn Fedora bereits als Linux-System läuft und du Home Assistant zusätzlich betreiben möchtest, ohne das komplette Betriebssystem durch Home Assistant OS zu ersetzen.
Der Beitrag richtet sich an alle, die Fedora als Server, Mini-PC oder Testsystem nutzen und Home Assistant sauber über die Kommandozeile installieren möchten.
Warum Home Assistant als Container unter Fedora?
Es gibt verschiedene Möglichkeiten, Home Assistant zu installieren. Für Einsteiger wird häufig Home Assistant OS empfohlen, weil dort viele Dinge bereits fertig integriert sind. Dazu gehören zum Beispiel der Supervisor, Backups und Add-ons.
Wenn du aber bereits ein vorhandenes Linux-System wie Fedora nutzt, kann die Container-Installation deutlich flexibler sein. Du kannst Home Assistant neben anderen Diensten betreiben, zum Beispiel neben Node-RED, Mosquitto, SQLite, Grafana oder eigenen Docker-Containern.
Der große Vorteil:
Du behältst die volle Kontrolle über dein Fedora-System und kannst Home Assistant trotzdem sauber isoliert in einem Container ausführen.
Wichtig ist aber auch der Nachteil:
Bei der Container-Installation gibt es keinen Home Assistant Supervisor und damit auch keinen Add-on-Store direkt in Home Assistant. Dienste wie Mosquitto, Node-RED oder Zigbee2MQTT müssen dann separat als eigene Container installiert werden.
Für meinen Anwendungsfall ist genau das sogar ein Vorteil, da ich viele Dienste ohnehin getrennt und nachvollziehbar über Docker Compose betreibe.
Mein Testsystem: Dell Optiplex 3050 Micro mit Fedora
Für diesen Beitrag verwende ich meinen Dell Optiplex 3050 Micro, den ich bereits in einem separaten Beitrag genauer vorgestellt habe:
Dell Optiplex Micro als Heimserver – ein günstiger Einstieg in die Serverwelt

Ursprünglich lief auf diesem kleinen Heimserver Ubuntu. Für meine aktuelle Nutzung bin ich jedoch aus Performancegründen auf Fedora Linux gewechselt. Gerade bei einem kompakten Mini-PC, der dauerhaft als kleiner Server laufen soll, zählt für mich ein schlankes und reaktionsschnelles System.
Fedora eignet sich hier sehr gut als Grundlage, weil es aktuelle Pakete bereitstellt und sich trotzdem sauber als Linux-Host für Docker, Home Assistant, Node-RED oder weitere Smart-Home-Dienste nutzen lässt.
Wichtig: Die Anleitung ist nicht auf den Dell Optiplex 3050 beschränkt. Du kannst die Schritte grundsätzlich auch auf anderer kompatibler Hardware mit Fedora Linux nachvollziehen.
Voraussetzungen
Für diese Anleitung benötigst du:
- ein installiertes Fedora Linux
- Zugriff auf ein Terminal oder SSH
- einen Benutzer mit
sudo-Rechten - eine Netzwerkverbindung
- grundlegende Kenntnisse im Umgang mit der Linux-Konsole
In meinem Beispiel verwende ich Fedora als Host-System und installiere Home Assistant mit Docker Compose.
Schritt 1: System aktualisieren
Zuerst aktualisieren wir Fedora:
sudo dnf update -y
Das ist kein zwingender Schritt, aber gerade bei einem frisch installierten System sinnvoll.
Schritt 2: Altes Docker entfernen
Falls auf deinem System bereits ältere oder nicht offizielle Docker-Pakete installiert sind, solltest du diese vorher entfernen.
sudo dnf remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-selinux \ docker-engine-selinux \ docker-engine
Wenn Fedora meldet, dass einige dieser Pakete nicht installiert sind, ist das kein Problem.
Schritt 3: Docker-Repository unter Fedora hinzufügen
Damit wir Docker Engine aus dem offiziellen Docker-Repository installieren können, fügen wir zuerst das Repository hinzu:
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
Danach kann Docker direkt über dnf installiert werden.
Schritt 4: Docker Engine und Docker Compose installieren
Nun installieren wir Docker Engine, die Docker CLI, containerd sowie das Docker-Compose-Plugin:
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
Während der Installation kann Fedora fragen, ob ein GPG-Schlüssel akzeptiert werden soll. Diesen musst du bestätigen, damit die Pakete installiert werden können.
Schritt 5: Docker starten und automatisch aktivieren
Nach der Installation ist Docker zwar installiert, aber noch nicht zwingend gestartet. Mit dem folgenden Befehl starten wir Docker und aktivieren den automatischen Start beim Booten:
sudo systemctl enable --now docker
Ob Docker läuft, kannst du so prüfen:
sudo systemctl status docker
Optional kannst du zusätzlich den klassischen Testcontainer ausführen:
sudo docker run hello-world
Wenn Docker korrekt funktioniert, lädt Docker ein kleines Testimage herunter und gibt eine Erfolgsmeldung aus.
Schritt 6: Docker ohne sudo verwenden
Standardmäßig muss Docker oft mit sudo ausgeführt werden. Wenn du deinen Benutzer zur Docker-Gruppe hinzufügen möchtest, kannst du folgenden Befehl nutzen:
sudo usermod -aG docker $USER
Danach musst du dich einmal abmelden und wieder anmelden. Bei einer SSH-Verbindung bedeutet das: Verbindung trennen und neu verbinden.
Anschließend sollte folgender Befehl ohne sudo funktionieren:
docker ps
Schritt 7: Verzeichnis für Home Assistant anlegen
Ich lege die Konfiguration bewusst unter /opt/homeassistant ab. Dadurch liegt Home Assistant nicht irgendwo im Home-Verzeichnis, sondern an einem sauberen Ort für dauerhaft laufende Dienste.
sudo mkdir -p /opt/homeassistant/config sudo chown -R $USER:$USER /opt/homeassistant
In diesem Ordner speichert Home Assistant später seine Konfiguration, Datenbank, Logs und Einstellungen.
Schritt 8: Docker-Compose-Datei erstellen
Jetzt wechseln wir in das neue Verzeichnis:
cd /opt/homeassistant
Dort erstellen wir die Datei compose.yaml:
nano compose.yaml
Der Inhalt sieht so aus:
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
- /opt/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
environment:
TZ: Europe/Berlin
restart: unless-stopped
privileged: true
network_mode: host
Speichere die Datei anschließend mit STRG + O, bestätige mit Enter und
verlasse den Editor mit STRG + X.
Was bedeuten die wichtigsten Einträge?
image
image: ghcr.io/home-assistant/home-assistant:stable
Damit verwenden wir das stabile Home-Assistant-Container-Image.
volumes
- /opt/homeassistant/config:/config
Dieser Eintrag sorgt dafür, dass die Home-Assistant-Konfiguration dauerhaft auf dem Fedora-System gespeichert wird. Wenn der Container später gelöscht oder aktualisiert wird, bleiben deine Einstellungen erhalten.
- /etc/localtime:/etc/localtime:ro
Damit übernimmt der Container die lokale Zeit des Host-Systems.
- /run/dbus:/run/dbus:ro
Dieser Eintrag ist vor allem dann interessant, wenn später Bluetooth-Funktionen genutzt werden sollen.
restart
restart: unless-stopped
Home Assistant startet dadurch automatisch neu, wenn der Container beendet wurde oder das System neu gestartet wird.
network_mode
network_mode: host
Home Assistant verwendet damit direkt das Netzwerk des Fedora-Hosts. Das ist bei Home Assistant besonders wichtig, weil viele automatische Erkennungen im Netzwerk über mDNS, SSDP oder ähnliche Mechanismen laufen.
privileged
privileged: true
Damit erhält der Container erweiterte Rechte. Das ist bei Home Assistant üblich, da je nach Integration Zugriff auf System- oder Gerätedienste notwendig sein kann.
Schritt 9: Home Assistant starten
Jetzt starten wir Home Assistant:
docker compose up -d
Docker lädt nun das Image herunter und startet den Container im Hintergrund.
Den Status prüfst du mit:
docker ps
Du solltest nun einen Container mit dem Namen homeassistant sehen.
Die Logs kannst du dir mit folgendem Befehl anzeigen lassen:
docker logs -f homeassistant
Beim ersten Start kann es etwas dauern, bis Home Assistant vollständig initialisiert wurde.
Schritt 10: Home Assistant im Browser öffnen
Sobald Home Assistant gestartet ist, erreichst du die Oberfläche im Browser über Port 8123.
Direkt auf dem Fedora-System:
http://localhost:8123
Von einem anderen Gerät im Netzwerk:
http://IP-DEINES-FEDORA-SYSTEMS:8123
Ein Beispiel:
http://192.168.178.186:8123
Wenn du die IP-Adresse deines Fedora-Systems nicht kennst, kannst du sie mit folgendem Befehl anzeigen lassen:
ip -br addr
Achte dabei auf die IP-Adresse deiner aktiven Netzwerkschnittstelle, zum Beispiel wlan0 oder enp....
Schritt 11: Firewall unter Fedora freigeben
Wenn Home Assistant lokal funktioniert, aber von einem anderen Gerät im Netzwerk nicht erreichbar ist, liegt es häufig an der Firewall.
Unter Fedora kannst du Port 8123 so freigeben:
sudo firewall-cmd --permanent --add-port=8123/tcp sudo firewall-cmd --reload
Danach solltest du Home Assistant von einem anderen Rechner, Smartphone oder Tablet im Netzwerk öffnen können.
Home Assistant verwalten
Container stoppen
docker compose down
Container starten
docker compose up -d
Home Assistant neu starten
docker compose restart
Logs anzeigen
docker logs -f homeassistant
Aktive Container anzeigen
docker ps
Home Assistant aktualisieren
Ein Update ist bei der Container-Installation sehr einfach. Wechsle zuerst in das Verzeichnis mit deiner compose.yaml:
cd /opt/homeassistant
Dann lädst du das aktuelle Image:
docker compose pull
Anschließend startest du den Container neu:
docker compose up -d
Die Konfiguration bleibt erhalten, weil sie im Ordner /opt/homeassistant/config gespeichert wird.
Trotzdem solltest du vor größeren Updates ein Backup des Config-Ordners erstellen.
Einfaches Backup der Konfiguration
Für ein schnelles Backup kannst du den kompletten Config-Ordner packen:
sudo tar -czvf homeassistant-config-backup.tar.gz /opt/homeassistant/config
Wenn du möchtest, kannst du die Datei anschließend auf einen USB-Stick, ein NAS oder einen anderen Rechner kopieren.
USB-Geräte wie Zigbee-Stick einbinden
Wenn du später einen Zigbee- oder Z-Wave-Stick verwenden möchtest, solltest du diesen möglichst über /dev/serial/by-id/ einbinden.
Die Geräte findest du mit:
ls -l /dev/serial/by-id/
Ein Beispiel für einen Eintrag in der compose.yaml:
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
- /opt/homeassistant/config:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
environment:
TZ: Europe/Berlin
restart: unless-stopped
privileged: true
network_mode: host
devices:
- /dev/serial/by-id/DEIN_USB_STICK:/dev/ttyUSB0
Der Vorteil von /dev/serial/by-id/ ist, dass der Pfad meistens stabiler ist als /dev/ttyUSB0. Gerade nach einem Neustart kann sich die Reihenfolge von USB-Geräten ändern.
Typische Fehler und Lösungen
Home Assistant ist nicht erreichbar
Prüfe zuerst, ob der Container läuft:
docker ps
Danach prüfst du die Logs:
docker logs -f homeassistant
Wenn Home Assistant im Container läuft, aber der Browser keine Verbindung bekommt, prüfe die Firewall:
sudo firewall-cmd --permanent --add-port=8123/tcp sudo firewall-cmd --reload
docker compose wird nicht gefunden
Prüfe, ob das Compose-Plugin installiert ist:
docker compose version
Falls nicht, installiere das Plugin nach:
sudo dnf install docker-compose-plugin -y
Docker kann nicht ohne sudo verwendet werden
Wenn folgender Fehler erscheint:
permission denied while trying to connect to the docker API at unix:///var/run/docker.sock
oder:
permission denied while trying to connect to the Docker daemon socket
dann wurde dein Benutzer zwar möglicherweise bereits zur Docker-Gruppe hinzugefügt, aber die aktuelle Terminal-Sitzung kennt diese neue Gruppenmitgliedschaft noch nicht.
Prüfe zuerst, ob dein Benutzer bereits in der Docker-Gruppe steht:
groups
Wenn docker dort noch nicht auftaucht, prüfe zusätzlich:
getent group docker
Den Benutzer fügst du mit folgendem Befehl zur Docker-Gruppe hinzu:
sudo usermod -aG docker $USER
Damit die Änderung aktiv wird, musst du dich normalerweise einmal komplett abmelden und wieder anmelden. Bei einer SSH-Verbindung bedeutet das: SSH-Verbindung trennen und neu verbinden.
Alternativ kannst du die neue Gruppenmitgliedschaft direkt in der aktuellen Sitzung aktivieren:
newgrp docker
Danach sollte dieser Befehl ohne sudo funktionieren:
docker ps
Docker startet nicht
Prüfe den Status:
sudo systemctl status docker
Details findest du mit:
journalctl -u docker -xe
Home Assistant Container oder Home Assistant OS?
Die Container-Installation ist ideal, wenn du bereits ein Linux-System betreibst und Dienste sauber über Docker verwalten möchtest.
Sie eignet sich besonders für:
- Fedora-Server
- Mini-PCs
- Testsysteme
- bestehende Docker-Umgebungen
- Nutzer, die Node-RED, Mosquitto oder Datenbanken separat betreiben möchten
Home Assistant OS ist dagegen besser geeignet, wenn du möglichst wenig administrieren möchtest und Add-ons direkt aus Home Assistant heraus nutzen willst.
Kurz gesagt:
Wenn du maximale Bequemlichkeit möchtest, nimm Home Assistant OS.
Wenn du maximale Kontrolle auf einem bestehenden Linux-System möchtest, ist Home Assistant Container eine sehr gute Wahl.
Fazit
Home Assistant lässt sich unter Fedora Linux sehr sauber mit Docker Compose installieren. Die Einrichtung ist schnell erledigt, die Konfiguration bleibt dauerhaft im Host-Dateisystem gespeichert und Updates können mit wenigen Befehlen durchgeführt werden.
Für mich ist diese Variante besonders interessant, weil sie sich gut in bestehende Docker-Setups integrieren lässt. Wer ohnehin Dienste wie Node-RED, Mosquitto oder eigene Microcontroller-Projekte betreibt, bekommt mit Home Assistant eine starke zentrale Oberfläche für das Smart Home.
Der wichtigste Punkt ist jedoch:
Bei Home Assistant Container musst du zusätzliche Dienste selbst verwalten. Dafür bekommst du aber ein sehr flexibles Setup, das sich perfekt für eigene Smart-Home- und IoT-Projekte eignet.
Die eigentliche Ersteinrichtung nach dem ersten Start lagere ich bewusst in einen separaten Beitrag aus. Dort zeige ich dann Schritt für Schritt, wie Home Assistant nach der Installation eingerichtet wird, welche ersten Einstellungen sinnvoll sind und wie sich später Geräte oder Dienste wie Shelly, MQTT, Node-RED oder Zigbee2MQTT anbinden lassen. Dazu ist zusätzlich ein passendes YouTube-Video geplant.
FAQ
Kann ich Home Assistant direkt unter Fedora installieren?
Ja, aber die sauberste und flexibelste Variante ist die Installation als Container mit Docker Compose. So bleibt Home Assistant vom Host-System getrennt und lässt sich einfach aktualisieren.
Hat Home Assistant Container Add-ons?
Nein. Die Container-Variante besitzt keinen Supervisor und damit auch keinen Add-on-Store. Dienste wie Mosquitto oder Node-RED müssen separat installiert werden.
Welchen Port nutzt Home Assistant?
Home Assistant ist standardmäßig über Port 8123 erreichbar.
Warum wird network_mode: host verwendet?
Home Assistant erkennt viele Geräte automatisch im lokalen Netzwerk. Dafür sind Netzwerkfunktionen wie mDNS und SSDP wichtig. Mit network_mode: host kann Home Assistant direkt das Netzwerk des Fedora-Hosts nutzen.
Bleiben meine Daten bei einem Update erhalten?
Ja, solange du den Ordner /opt/homeassistant/config nicht löschst. Dort liegen die Konfiguration und die Daten von Home Assistant.
Kann ich später Zigbee oder Z-Wave nutzen?
Ja. USB-Sticks können über die devices-Sektion in der compose.yaml in den Container eingebunden werden. Empfehlenswert ist dabei der Pfad über /dev/serial/by-id/.
Letzte Aktualisierung am: 21. Mai 2026











1 thought on “Home Assistant unter Fedora Linux installieren – Schritt für Schritt mit Docker Compose”