fix(zigbee2mqtt): drop FRONTEND_* env that crashes z2m 1.42 on boot
z2m 1.42's default config is `frontend: true` (boolean shorthand). A nested env override like ZIGBEE2MQTT_CONFIG_FRONTEND_PORT/_ENABLED makes z2m try to write a property onto that boolean and die at startup with "Cannot create property 'port' on boolean 'true'", crash-looping the container. The default frontend already listens on 8080, which we publish as host 8084, so no override is needed — remove both lines. Also correct the comment: zigbee-herdsman opens the serial adapter before connecting to MQTT, so a stickless box never reaches the broker. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3408e1aad8
commit
09a89a8517
1 changed files with 12 additions and 5 deletions
|
|
@ -16,9 +16,18 @@
|
||||||
# the validator rejects non-directories and the /dev deny-list). The `devices`
|
# the validator rejects non-directories and the /dev deny-list). The `devices`
|
||||||
# entry maps that host device into the container. The `:-/dev/null` fallback is
|
# entry maps that host device into the container. The `:-/dev/null` fallback is
|
||||||
# ONLY so `docker compose config` (catalog validation, run with no .env) parses
|
# ONLY so `docker compose config` (catalog validation, run with no .env) parses
|
||||||
# cleanly; a real install always has the device set. On a box with no stick
|
# cleanly; a real install always has the device set. zigbee-herdsman opens the
|
||||||
# attached the container won't fully come up — it still connects to MQTT first,
|
# serial adapter BEFORE connecting to MQTT, so on a box with no stick attached
|
||||||
# which is enough to confirm the dependency/credential handshake.
|
# the container exits early and never reaches the broker — the dependency
|
||||||
|
# handshake is verified provider-side instead (the account + creds land in this
|
||||||
|
# app's .env at install time).
|
||||||
|
#
|
||||||
|
# Frontend: z2m 1.42's default config is `frontend: true` (boolean shorthand,
|
||||||
|
# enabled on port 8080). We deliberately set NO ZIGBEE2MQTT_CONFIG_FRONTEND_*
|
||||||
|
# env here: a nested override like FRONTEND_PORT/FRONTEND_ENABLED makes z2m try
|
||||||
|
# to write a property onto that boolean and crash on boot with
|
||||||
|
# "Cannot create property 'port' on boolean 'true'". The default 8080 is what we
|
||||||
|
# publish to the host as 8084 below, so no override is needed.
|
||||||
#
|
#
|
||||||
# Port 8084 on the host -> 8080 in the container (8080 is taken by it-tools).
|
# Port 8084 on the host -> 8080 in the container (8080 is taken by it-tools).
|
||||||
#
|
#
|
||||||
|
|
@ -36,8 +45,6 @@ services:
|
||||||
- ZIGBEE2MQTT_CONFIG_MQTT_USER=${MQTT_USER}
|
- ZIGBEE2MQTT_CONFIG_MQTT_USER=${MQTT_USER}
|
||||||
- ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD=${MQTT_PASS}
|
- ZIGBEE2MQTT_CONFIG_MQTT_PASSWORD=${MQTT_PASS}
|
||||||
- ZIGBEE2MQTT_CONFIG_SERIAL_PORT=${ZIGBEE_SERIAL_PORT}
|
- ZIGBEE2MQTT_CONFIG_SERIAL_PORT=${ZIGBEE_SERIAL_PORT}
|
||||||
- ZIGBEE2MQTT_CONFIG_FRONTEND_ENABLED=true
|
|
||||||
- ZIGBEE2MQTT_CONFIG_FRONTEND_PORT=8080
|
|
||||||
devices:
|
devices:
|
||||||
- ${ZIGBEE_SERIAL_PORT:-/dev/null}:${ZIGBEE_SERIAL_PORT:-/dev/null}
|
- ${ZIGBEE_SERIAL_PORT:-/dev/null}:${ZIGBEE_SERIAL_PORT:-/dev/null}
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue