feat(zigbee2mqtt): Zigbee2MQTT 2.14.1 on esh-docker-vm, replacing HA's ZHA
Requested by ha-dev; approved by Prime in this session. Radio: SLZB-MR1U chip 0 (EFR32MG21, EmberZNet 8.0.2) at tcp://10.0.90.10:6638, adapter ember. A fresh network was formed on channel 25, PAN 0xCFF4. The broker is reached as mosquitto user zigbee2mqtt, with HA discovery on homeassistant/. The frontend on :8099 is token-protected. State and the network key stay host-only in /opt/docker/data/zigbee2mqtt (root 0700, restic). The repo carries only compose, .env.example and the README. configuration.yaml refers to the secrets as !secret.yaml, and those references survived Z2M's v4->v5 settings migration.
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# zigbee2mqtt: the house Zigbee stack on esh-docker-vm, replacing Home Assistant's ZHA.
|
||||
# Requested by ha-dev, operator-approved (Prime, 2026-09-27). Greenfield: no devices migrated.
|
||||
#
|
||||
# Radio: SLZB-MR1U at 10.0.90.10 (VLAN 90), chip 0 = EFR32MG21 / EmberZNet 8.0.2 on TCP 6638,
|
||||
# so adapter `ember`. Chip 1 (CC2652P7, :6639) is unused. By IP on purpose: containers here
|
||||
# cannot resolve *.internal, and the SLZB's mDNS TXT wrongly advertises radio_type znp for 6638.
|
||||
# ONE client per radio socket: HA's ZHA entry must stay disabled/deleted while this runs.
|
||||
#
|
||||
# ⚠ STATE, and the Zigbee NETWORK KEY, live in /opt/docker/data/zigbee2mqtt on the host (root
|
||||
# 0700): configuration.yaml, secret.yaml (network key, MQTT password, frontend token),
|
||||
# coordinator_backup.json, database.db. Covered by the host's restic (/opt/docker). NEVER in
|
||||
# git: this repo holds only this file, .env.example and the README. Losing the network key
|
||||
# means re-pairing every device, so the vault holds a copy (see README).
|
||||
#
|
||||
# .env (tunables): IMAGE, FRONTEND_PORT.
|
||||
|
||||
name: zigbee2mqtt
|
||||
|
||||
services:
|
||||
zigbee2mqtt:
|
||||
image: ${IMAGE:?set IMAGE}
|
||||
container_name: zigbee2mqtt
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
TZ: America/Los_Angeles
|
||||
volumes:
|
||||
- /opt/docker/data/zigbee2mqtt:/app/data
|
||||
ports:
|
||||
- "${FRONTEND_PORT:-8099}:8080"
|
||||
networks:
|
||||
- tnet # reaches the broker as mqtt://mosquitto:1883
|
||||
labels:
|
||||
- homepage.group=Apps
|
||||
- homepage.name=Zigbee2MQTT
|
||||
- homepage.icon=si-zigbee2mqtt
|
||||
- homepage.description=Zigbee stack (SLZB-MR1U, channel 25)
|
||||
- homepage.href=http://10.0.50.45:${FRONTEND_PORT:-8099}
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-q", "-O", "/dev/null", "http://127.0.0.1:8080"]
|
||||
interval: 30s
|
||||
timeout: 10s
|
||||
retries: 3
|
||||
start_period: 60s
|
||||
|
||||
networks:
|
||||
tnet:
|
||||
name: traefik-net
|
||||
external: true
|
||||
Reference in New Issue
Block a user