Home Assistant via Docker auf einer Synology NAS installieren

You can find the English version of this guide here: Install Home Assistant on Synology NAS with Docker

Home Assistant ist für viele der “Hub” im Smart Home: lokal, erweiterbar, mit riesigem Ökosystem. Wenn du bereits eine Synology NAS hast, ist sie oft die perfekte Plattform, um Home Assistant als Container zu betreiben – ohne extra Raspberry Pi.

In dieser Anleitung installierst du Home Assistant in der aktuellen Stable-Version per Docker (Synology Container Manager) und bekommst ein Setup, das:

  • Updates sauber mitmacht
  • Konfiguration persistent speichert
  • Discovery im LAN (mDNS/SSDP) zuverlässig ermöglicht

TL;DR

  • DSM Container Manager öffnen → Projekt → neues Projekt aus docker-compose.yml
  • Container mit network_mode: host starten
  • Konfigurationsordner persistent mounten
  • Home Assistant danach unter http://<NAS-IP>:8123 öffnen

Voraussetzungen

  • Synology DSM 7.2+ (oder DSM-Version mit “Container Manager”), zum Beispiel Synology DS220+, DS720+, DS920+, etc.
  • Optional RAM-Erweiterung auf mindestens 2GB (empfohlen für Home Assistant)
  • Installiertes Paket Container Manager
  • Statische IP für die NAS ist empfehlenswert (oder DHCP-Reservation)

Warum host Netzwerkmodus?

Home Assistant lebt stark von Netzwerk-Discovery (mDNS/Bonjour, SSDP/UPnP, etc.). In der Praxis ist dafür auf NAS/Heimnetz häufig am unkompliziertesten:

  • network_mode: host

Damit hängt der Container direkt im Netzwerk-Stack der NAS. Das erspart viele Stolperfallen bei Multicast/Broadcast.

Schritt 1: Ordner für die Home-Assistant-Konfiguration anlegen

Lege auf deiner NAS einen Ordner an, in dem Home Assistant seine Daten persistent speichert.

Wichtig bei Synology: der Ordner muss wirklich existieren, sonst startet der Container nicht.

Empfohlene Struktur (als Projektordner für Container Manager):

  • /volume1/docker/homeassistant/
    • docker-compose.yml
    • config/ (dieser Ordner wird später nach /config in den Container gemountet)

Du kannst das per File Station anlegen.

Wenn du beim Start eine Fehlermeldung wie diese bekommst:

Bind mount failed: '/volume1/docker/homeassistant/config' does not exist

… dann stimmt der Pfad nicht oder der Ordner wurde nicht angelegt. Prüfe außerdem, ob deine NAS ggf. volume2 (oder ein anderes Volume) verwendet.

Schritt 2: docker-compose.yml erstellen

Erstelle im Projekt-Ordner (z.B. /volume1/docker/homeassistant/) eine Datei docker-compose.yml mit folgendem Inhalt:

 1services:
 2  homeassistant:
 3    container_name: homeassistant
 4    image: ghcr.io/home-assistant/home-assistant:stable
 5    network_mode: host
 6    restart: unless-stopped
 7    environment:
 8      - TZ=Europe/Berlin
 9    volumes:
10      - ./config:/config
11      - /etc/localtime:/etc/localtime:ro

Hinweise

  • image: ...:stable bedeutet: aktuelle Stable-Version. Wenn du lieber exakt pinnen willst, ersetze stable durch eine konkrete Version.
  • Bei network_mode: host brauchst (und darfst) du keine Ports wie 8123:8123 mappen.
  • TZ=Europe/Berlin sorgt für korrekte Zeit/Log-Zeiten.

Schritt 3: Projekt im Synology Container Manager anlegen

  1. Öffne Container Manager
  2. Gehe zu Projekt
  3. Erstellen → wähle den Ordner, in dem deine docker-compose.yml liegt
  4. Projektname z.B. homeassistant
  5. Bestätigen / Deploy

Nach dem Start sollte der Container laufen.

Schritt 4: Home Assistant öffnen

Öffne im Browser:

  • http://<NAS-IP>:8123

Der erste Start kann ein paar Minuten dauern, weil Home Assistant initial Daten lädt und die Struktur im /config Verzeichnis anlegt.

Updates (ohne Drama)

Wenn du :stable verwendest, bekommst du neue Versionen per Image-Update.

Update über die Synology UI

  • Container Manager → Images → Home-Assistant-Image aktualisieren
  • Projekt neu deployen (oder Container neu erstellen/neu starten – je nach DSM UI-Version)

Update per CLI (optional)

Wenn du SSH auf der NAS nutzt:

1docker compose pull
2
3docker compose up -d

Danach ist Home Assistant auf der neuen Version.

Backup / Restore

Alles Wichtige liegt in deinem gemounteten Ordner:

  • ./config (relativ zum Projektordner)

Wenn du diesen Ordner sicherst, hast du praktisch dein komplettes Home-Assistant-Setup (Integrationen, Automationen, Add-ons-Konfig, etc.).

Häufige Stolperfallen

1) Web UI nicht erreichbar

  • Prüfe, ob der Container läuft.
  • Prüfe NAS-Firewall-Regeln (DSM-Firewall) und VLAN/Netzsegment.
  • Bei host Mode: Zugriff ist immer http://<NAS-IP>:8123.

2) Discovery funktioniert nicht (Geräte werden nicht gefunden)

  • Stelle sicher, dass network_mode: host aktiv ist.
  • Prüfe, ob Router/VLAN Multicast blockt.

3) USB Zigbee/Z-Wave Stick wird nicht erkannt

Das ist abhängig vom Stick und DSM. Typisch brauchst du zusätzlich Device-Mappings (z.B. /dev/ttyUSB0) und ggf. Berechtigungen.

Wenn du mir sagst, welchen Stick du hast (z.B. Sonoff ZBDongle-E, ConBee II, SkyConnect), kann ich dir eine passende Compose-Variante ergänzen.

HTTPS einrichten (optional)

Home Assistant funktioniert problemlos über HTTP im lokalen Netzwerk. Wenn du aber ohne Browser-Warnungen arbeiten willst (und z.B. auch unterwegs via VPN sauber zugreifen möchtest), lohnt sich HTTPS.

Da viele Heimnetz-Setups keine öffentlich erreichbare Domain für Home Assistant verwenden (und oft auch gar nicht wollen), ist eine sehr praktische Lösung:

  • eine eigene Root CA (die du auf deinen Geräten als vertrauenswürdig installierst)
  • ein Server-Zertifikat für eine lokale Domain wie homeassistant.abt
  • Synology Reverse Proxy als HTTPS-Termination vor Home Assistant

Die ausführlichen Grundlagen habe ich hier beschrieben:

  • Root CA erstellen: /blog/2025/10/13/create-custom-root-certificate-authority/
  • HTTPS-Zertifikate mit eigener Root CA erstellen: /blog/2025/10/15/create-self-signed-https-certificates-with-custom-root-ca/

Schritt 1: Lokale Domain auf deine NAS zeigen lassen

Lege in deinem DNS (Router, Pi-hole, AdGuard Home, UniFi, etc.) einen A-Record an, z.B.:

1homeassistant.abt → 192.168.1.50

Wichtig:

  • Nutze eine Domain, die nur bei dir im Netz aufgelöst wird.
  • Verwende idealerweise eine feste IP (oder DHCP-Reservation) für die NAS.

Schritt 2: Zertifikate erstellen (Root CA + Server-Zertifikat)

  1. Erstelle (einmalig) deine Root CA und installiere das Root-CA-Zertifikat auf allen Geräten, die Home Assistant nutzen sollen.
  2. Erstelle ein Server-Zertifikat für deine Domain (z.B. homeassistant.abt).

Empfehlung für die SANs (Subject Alternative Names):

  • DNS.1 = homeassistant.abt
  • Optional: IP.1 = 192.168.1.50 (NAS-IP)

Hinweis zur Gültigkeit: Wenn du Apple-Geräte im Einsatz hast (Safari/iOS), bleib bei max. 397 Tagen, sonst wird das Zertifikat ggf. abgelehnt.

Am Ende solltest du typischerweise folgende Dateien haben:

  • homeassistant.abt.key (Private Key)
  • homeassistant.abt.crt (Server-Zertifikat)
  • optional homeassistant.abt-fullchain.crt (Zertifikat + Root CA)

Schritt 3: Zertifikat in DSM importieren

In DSM:

  1. SystemsteuerungSicherheitZertifikat
  2. HinzufügenZertifikat importieren
  3. Importiere
    • Zertifikat: homeassistant.abt.crt
    • Privater Schlüssel: homeassistant.abt.key
    • Zwischenzertifikat/CA-Bundle: (falls vorhanden) homeassistant.abt-fullchain.crt oder deine Root-CA-Datei

Danach kannst du das Zertifikat einem Dienst/Hostnamen zuweisen.

Schritt 4: Synology Reverse Proxy für Home Assistant anlegen

Der Reverse Proxy übernimmt HTTPS und leitet intern an Home Assistant (Port 8123) weiter.

  1. SystemsteuerungAnmeldeportalErweitertReverse Proxy
  2. Erstellen

Beispiel-Konfiguration:

  • Quelle
    • Protokoll: HTTPS
    • Hostname: homeassistant.abt
    • Port: 443
  • Ziel
    • Protokoll: HTTP
    • Hostname: 127.0.0.1
    • Port: 8123

Wichtig:

  • WebSocket-Unterstützung aktivieren (Home Assistant nutzt WebSockets für UI/Realtime-Updates)
  • Optional: HTTP → HTTPS Redirect aktivieren (wenn du zusätzlich eine HTTP-Regel anlegst)

Schritt 5: Home Assistant für Reverse Proxy konfigurieren

Wenn Home Assistant hinter einem Reverse Proxy läuft, sollte er die Forwarded-Header akzeptieren.

Öffne dazu in deinem gemounteten Config-Ordner die Datei configuration.yaml und ergänze (oder erweitere) folgenden Block:

1http:
2  use_x_forwarded_for: true
3  trusted_proxies:
4    - 127.0.0.1
5    - ::1

Danach Home Assistant neu starten (Container restart bzw. Projekt redeploy).

Zugriff

Danach erreichst du Home Assistant sauber via:

  • https://homeassistant.abt

Wenn deine Root CA auf dem Client-Gerät korrekt installiert ist, gibt es keine Zertifikatswarnung.


Comments

Twitter Facebook LinkedIn WhatsApp