z2m migrates configuration.yaml on startup and needs write access. Remove the separate :ro config mount; rely on the base compose's /opt/homelab/data/zigbee2mqtt/data:/app/data read-write mount instead. configuration.yaml must exist at that path on the node before first run. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
22 lines
953 B
YAML
22 lines
953 B
YAML
services:
|
|
zigbee2mqtt:
|
|
# mosquitto runs with network_mode: host on chelsty-infra.
|
|
# extra_hosts maps the 'mosquitto' hostname to the host gateway IP so that
|
|
# mqtt://mosquitto:1883 in configuration.yaml reaches the host-networked
|
|
# mosquitto process. Requires Docker 20.10+ (present on chelsty-infra).
|
|
extra_hosts:
|
|
- "mosquitto:host-gateway"
|
|
environment:
|
|
- TZ=Europe/Warsaw
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -qO- http://localhost:8080 > /dev/null 2>&1 || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 90s
|
|
# Note: volumes NOT overridden here.
|
|
# The base docker-compose.yml mounts /opt/homelab/data/zigbee2mqtt/data:/app/data
|
|
# (read-write). configuration.yaml must be placed in that directory on the node:
|
|
# /opt/homelab/data/zigbee2mqtt/data/configuration.yaml
|
|
# z2m rewrites this file during migrations — read-only mount is not viable.
|