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.