Einfaches HomeAssistant docker-compose-Setup

English Deutsch

Zuerst ein Verzeichnis erstellen, in dem HomeAssistant liegen soll. Ich verwende /opt/homeassistant.

docker-compose.yml erstellen:

docker-compose.yml
services:
  homeassistant:
    container_name: homeassistant
    restart: unless-stopped
    image: ghcr.io/home-assistant/home-assistant:stable
    network_mode: host
    privileged: true
    environment:
      - TZ=Europe/Berlin
    volumes:
      - ./homeassistant_config:/config
    depends_on:
      - mosquitto

Nun HomeAssistant starten, damit es die Standard-Konfigurationsdateien erstellt:

docker-compose-up.sh
docker-compose up

Sobald

homeassistant_ready.txt
homeassistant    | [services.d] done.

erscheint, Strg+C drücken zum Abbrechen.

Nun die Mosquitto-MQTT-Server-Konfigurationsdatei in mosquitto_conf/mosquitto.conf erstellen:

mosquitto.conf
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log

listener 1883
## Authentifizierung ##
allow_anonymous false
password_file /mosquitto/config/mosquitto.passwd

Nun die Mosquitto-Passwortdatei erstellen und Berechtigungen korrigieren mit

mosquitto_setup.sh
touch mosquitto_conf/mosquitto.passwd
chown -R 1883:1883 mosquitto_conf

Nun können wir den homeassistant-Mosquitto-Benutzer erstellen mit

mosquitto_create_user.sh
docker-compose run mosquitto mosquitto_passwd -c /mosquitto/config/mosquitto.passwd homeassistant

Ein zufälliges Passwort eingeben, das für den homeassistant-Benutzer verwendet wird.

Nun können wir die HomeAssistant-Konfiguration homeassistant_config/configuration.yml bearbeiten. Dies ist meine Konfiguration – sicherstellen, dass das zufällige MQTT-Passwort von vorhin anstelle von ep2ooy8di3avohn1Ahm6eegheiResh eingefügt wird:

homeassistant_config_configuration.yml
# Standard-Setup von Home Assistant konfigurieren (Frontend, API etc.)
default_config:

http:
  use_x_forwarded_for: true
  trusted_proxies:
  - 127.0.0.1
  ip_ban_enabled: true
  login_attempts_threshold: 5

mqtt:
  broker: "127.0.0.1"
  username: "homeassistant"
  password: "ep2ooy8di3avohn1Ahm6eegheiResh"

# Text-to-Speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

Nun können wir den Server starten mit

docker-compose-up.sh
docker-compose up

Man kann auch unser Skript verwenden, um einen systemd-Service zu generieren, der die docker-compose-Konfiguration beim Booten automatisch startet:

install_docker_compose_service.sh
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdin

Nun am Web-Interface auf Port 8123 anmelden und HomeAssistant konfigurieren!


Check out similar posts by category: Container, Docker, Home-Assistant, MQTT