Metainformationen zur Seite
  •  

Dies ist eine alte Version des Dokuments!


Installation und Aktualisierung von Addons unter Docker

Grundlegende Sicherheitsmaßnahmen

  1. Halten Sie Docker und Home Assistant stets auf dem neuesten Stand12. Regelmäßige Updates schließen bekannte Sicherheitslücken.
  2. Verwenden Sie offizielle und vertrauenswürdige Images2. Das offizielle Home Assistant Image ist eine sichere Wahl.
  3. Nutzen Sie minimale Basis-Images2. Dies reduziert die Angriffsfläche Ihres Containers.

Zugriffskontrollen und Berechtigungen

  1. Implementieren Sie das Prinzip der geringsten Nutzerrechte2. Vermeiden Sie die Ausführung von Home Assistant als Root-Benutzer.
  2. Konfigurieren Sie angemessene Zugriffskontrollen für Ihren Home Assistant Container1.
  3. Beschränken Sie den Netzwerkzugriff auf notwendige Ports und Verbindungen3.

Netzwerksicherheit

  1. Implementieren Sie Netzwerksegmentierung3. Isolieren Sie Home Assistant von anderen Containern oder Diensten.
  2. Aktivieren Sie Docker Content Trust3. Dies stellt sicher, dass nur vertrauenswürdige Images verwendet werden.

Überwachung und Logging

  1. Implementieren Sie eine ausreichende Überwachung Ihres Home Assistant Containers1.
  2. Aktivieren Sie Logging, um verdächtige Aktivitäten frühzeitig zu erkennen.

Best Practices für die Konfiguration

  1. Verwenden Sie sichere Konfigurationseinstellungen für Home Assistant.
  2. Vermeiden Sie die Speicherung sensibler Daten direkt im Container. Nutzen Sie stattdessen sichere Methoden zur Verwaltung von Geheimnissen.
  3. Begrenzen Sie die Ressourcen, die dem Container zur Verfügung stehen, um potenzielle Auswirkungen von Sicherheitsvorfällen zu minimieren.

Durch die Anwendung dieser Sicherheitsmaßnahmen können Sie die Risiken bei der Verwendung von Docker für Home Assistant erheblich reduzieren und eine robustere Heimautomatisierungsumgebung schaffen.

Um Docker Add-ons in Home Assistant zu integrieren, wenn Sie Home Assistant selbst in einem Docker-Container betreiben, müssen Sie einen etwas anderen Ansatz verfolgen als bei der Supervisor-Installation. Hier sind die wichtigsten Schritte:

Manuelles Hinzufügen von Add-ons

  1. Identifizieren Sie das gewünschte Add-on und suchen Sie nach einem entsprechenden Docker-Image.
  2. Erstellen Sie einen neuen Docker-Container für das Add-on, der mit Ihrem Home Assistant-Container kommunizieren kann.
  3. Konfigurieren Sie die Netzwerkeinstellungen, damit das Add-on und Home Assistant miteinander kommunizieren können.

Beispiel: File Editor Add-on

Für den File Editor können Sie folgende Schritte ausführen:

  1. Ziehen Sie das Image:
    textdocker pull causticlab/hass-configurator-docker
  2. Starten Sie den Container:
    textdocker run -d --name hass-configurator \
      --network=host \
      -v /path/to/your/homeassistant/config:/hass-config \
      causticlab/hass-configurator-docker
  3. Fügen Sie in Ihrer configuration.yaml folgende Zeilen hinzu:
    textpanel_iframe:
      configurator:
        title: Configurator
        icon: mdi:wrench
        url: http://YOUR_IP:3218
  4. Starten Sie Home Assistant neu.

Verwendung von Docker Compose

Für eine einfachere Verwaltung mehrerer Container können Sie Docker Compose verwenden:

  1. Erstellen Sie eine docker-compose.yml Datei.
  2. Definieren Sie darin Ihre Home Assistant und Add-on Container.
  3. Starten Sie alle Container mit docker-compose up -d

Ein docker-compose.yml könnte dann wie folgt aussehen:

docker-compose.yml
version: '3'
services:

  homeassistant:
    image: homeassistant/home-assistant:latest
    container_name: homeassistant
    volumes:
      - /share/Container/homeassistant:/config
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "8123:8123"
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=100
    networks:
      - homeassistant

  mosquitto:
    image: eclipse-mosquitto:latest  
    container_name: mosquitto
    ports:
      - "1883:1883"
      - "9001:9001"
    volumes:
      - /share/Container/mosquitto/config:/mosquitto/config
      - /share/Container/mosquitto/data:/mosquitto/data
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=100
    networks:
      - homeassistant

  esphome:
    image: esphome/esphome:latest
    container_name: esphome
    volumes:
      - /share/Container/esphome:/config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=100
    networks:
      - homeassistant

  nodered:
    image: nodered/node-red:latest
    container_name: nodered
    ports:
      - "1880:1880"
    volumes:
      - /share/Container/nodered:/data
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=100
    networks:
      - homeassistant

networks:
  homeassistant:
    name: homeassistant

Wichtige Anmerkungen:

  1. Dateipfade: Alle Pfade wurden auf das typische QNAP-Format angepasst, beginnend mit /share/Container/.
  2. Berechtigungen: Für jeden Service wurde die Umgebungsvariable PUID=1000 und PGID=100 hinzugefügt. Diese Werte müssen möglicherweise an Ihr spezifisches QNAP-System angepasst werden. Sie können die korrekten Werte mit dem Befehl id admin in der SSH-Konsole ermitteln.
  3. Volumes: Die Volumes wurden so angepasst, dass sie in einem dedizierten Ordner unter /share/Container/ gespeichert werden. Dies erleichtert das Backup und die Verwaltung.
  4. Netzwerk: Das homeassistant-Netzwerk wurde beibehalten, um die Kommunikation zwischen den Containern zu ermöglichen.
  5. Ports: Die exponierten Ports wurden beibehalten. Stellen Sie sicher, dass diese nicht mit anderen Diensten auf Ihrem QNAP NAS kollidieren.
  6. Restart-Policy: Die unless-stopped Restart-Policy wurde für alle Container beibehalten, um automatische Neustarts zu gewährleisten.

Bevor Sie dieses File verwenden, stellen Sie sicher, dass:

  • Die entsprechenden Ordner unter /share/Container/ existieren und die richtigen Berechtigungen haben.
  • Die PUID und PGID Werte korrekt für Ihr System eingestellt sind.
  • Container Station auf Ihrem QNAP NAS installiert und auf dem neuesten Stand ist.

Speichern Sie diese Datei als docker-compose.yml im entsprechenden Verzeichnis auf Ihrem QNAP NAS und verwenden Sie den Befehl docker-compose up -d in der SSH-Konsole oder die Container Station UI, um die Container zu starten.

Laufende Aktualisierung der Container

Alternative: HACS

HACS (Home Assistant Community Store) ist eine Alternative für einige Add-ons:

  1. Installieren Sie HACS manuell in Ihrem Home Assistant.
  2. Verwenden Sie HACS, um Frontend-Komponenten und Integrationen hinzuzufügen.

Beachten Sie, dass HACS keine vollwertigen Add-ons bereitstellt, sondern eher Erweiterungen für die Home Assistant-Oberfläche und zusätzliche Integrationen. Durch diese Methoden können Sie die Funktionalität von Add-ons in Ihrer Docker-basierten Home Assistant-Installation nutzen, auch wenn Sie nicht auf das integrierte Add-on-System zugreifen können.