86 lines
2.3 KiB
Markdown
86 lines
2.3 KiB
Markdown
# Smart-Home Bootstrap
|
|
|
|
Ziel: Den Stack `smart-home/` auf Kallilabcore initial startklar machen, ohne
|
|
Secrets oder UI-State ins Git zu schreiben.
|
|
|
|
## 1. Fachrepo auf dem Host bereitstellen
|
|
|
|
```sh
|
|
cd /mnt/user/services
|
|
git clone https://git.kaleschke.info/Micha/smart-home-kalli.git smart-home-kalli
|
|
cd smart-home-kalli
|
|
git checkout main
|
|
```
|
|
|
|
Der Home-Assistant-Container mountet daraus einzelne YAML-Dateien read-only nach
|
|
`/config`.
|
|
|
|
## 2. Home-Assistant-Appdata vorbereiten
|
|
|
|
```sh
|
|
mkdir -p /mnt/user/appdata/homeassistant
|
|
cp /mnt/user/services/smart-home-kalli/secrets-template/secrets.yaml.example \
|
|
/mnt/user/appdata/homeassistant/secrets.yaml
|
|
cp /mnt/user/services/smart-home-kalli/secrets-template/trusted_proxies.yaml.example \
|
|
/mnt/user/appdata/homeassistant/trusted_proxies.yaml
|
|
```
|
|
|
|
Danach `trusted_proxies.yaml` auf das echte Traefik-/`frontend_net`-Subnetz
|
|
anpassen:
|
|
|
|
```sh
|
|
docker network inspect frontend_net
|
|
```
|
|
|
|
## 3. Mosquitto vorbereiten
|
|
|
|
```sh
|
|
mkdir -p /mnt/user/appdata/mosquitto/config \
|
|
/mnt/user/appdata/mosquitto/data \
|
|
/mnt/user/appdata/mosquitto/log
|
|
|
|
docker run --rm -it \
|
|
-v /mnt/user/appdata/mosquitto/config:/mosquitto/external_config \
|
|
eclipse-mosquitto:2.0.22 \
|
|
mosquitto_passwd -c /mosquitto/external_config/passwordfile homeassistant
|
|
|
|
cat > /mnt/user/appdata/mosquitto/config/aclfile <<'EOF'
|
|
user homeassistant
|
|
topic readwrite #
|
|
EOF
|
|
```
|
|
|
|
Das initiale Passwort anschliessend in
|
|
`/mnt/user/appdata/homeassistant/secrets.yaml` eintragen. LAN-Port `1883` bleibt
|
|
in Phase 1 geschlossen.
|
|
|
|
## 4. Stack deployen
|
|
|
|
Komodo-Stack:
|
|
|
|
- Repo: `homelab-infra`
|
|
- Pfad: `smart-home/docker-compose.yml`
|
|
- Branch: nach Review `master`
|
|
|
|
Nach dem Start pruefen:
|
|
|
|
```sh
|
|
docker ps --filter name=homeassistant
|
|
docker ps --filter name=smarthome-mosquitto
|
|
docker logs --tail=100 homeassistant
|
|
docker logs --tail=100 smarthome-mosquitto
|
|
```
|
|
|
|
## 5. Smoke-Test
|
|
|
|
- `https://home.kaleschke.info` zeigt die Home-Assistant-Oberflaeche.
|
|
- Keine Trusted-Proxy-Fehler im HA-Log.
|
|
- MQTT-Integration verbindet sich mit Host `smarthome-mosquitto`, Port `1883`.
|
|
- HA-native Backup-Erstellung funktioniert.
|
|
|
|
## 6. Abnahmebedingung
|
|
|
|
Vor produktiven Energie-Automationen muss ein Restore-Test fuer
|
|
`/mnt/user/appdata/homeassistant`, `/mnt/user/appdata/mosquitto` und den Clone
|
|
`/mnt/user/services/smart-home-kalli` dokumentiert sein.
|