Utiliser un autre port pour le dashboard Zigbee2MQTT ?

Je voudrais utiliser un autre port pour Zigbee2MQTT au lieu du 8080. Ainsi, je pourrais utiliser le port 8080 pour un autre conteneur Docker. Comment puis-je procéder en toute sécurité ?

Salut,

Sur la page d’intégration, allez dans la configuration de ZigBee2MQTT et cliquez sur le deuxième bouton ‹ Modifier ›

Ensuite, vous pouvez sélectionner le port utilisé !

Merci !

1 « J'aime »

Malheureusement, ça n’a pas fonctionné. :frowning:
Je l’ai essayé à la fois sur Opera et Chrome sous Win11.

Je ne peux pas le changer pour un autre port, il ne veut pas changer. La seule chose qui fonctionne est de laisser le champ vide. Il a alors sélectionné le port 12000. Après cela, les services n’ont pas pu communiquer entre eux et il y a des erreurs dans le journal. Je n’ai pas non plus pu ouvrir le tableau de bord Z2M.

{F89F5D54-285F-4A78-A50F-192ECFAD7AE2}

Erreurs:

2025-12-10T17:08:16+0100 \u003cinfo\u003e installZ2mContainer.js:90 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt container successfully started
2025-12-10T17:08:16+0100 \u003cinfo\u003e connect.js:17 (Zigbee2mqttManager.connect) Disconnecting existing MQTT client...
2025-12-10T17:08:16+0100 \u003cinfo\u003e connect.js:25 (Zigbee2mqttManager.connect) Connecting Gladys to mqtt://localhost:1884 MQTT broker...
2025-12-10T17:08:16+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:08:16+0100 \u003cwarn\u003e connect.js:53 (MqttClient.\u003canonymous\u003e) Disconnected from MQTT server
2025-12-10T17:08:17+0100 \u003cinfo\u003e system.isDocker.js:13 (System.isDocker) System.isDocker: This system is running inside Docker.
2025-12-10T17:08:21+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:08:26+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:08:31+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:08:36+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:08:41+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:08:46+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:08:51+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:08:56+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized
2025-12-10T17:09:01+0100 \u003cwarn\u003e connect.js:46 (MqttClient.\u003canonymous\u003e) Error while connecting to MQTT - Error: Connection refused: Not authorized

L’interface z2m est-elle accessible sur le port 12000 ?

Non. ERR_CONNECTION_REFUSED

Essayez d’arrêter le service en utilisant le commutateur activer/désactiver puis redémarrez-le.

Attendez que tous les conteneurs soient opérationnels car ils seront retéléchargés (quelques minutes)

They are both running OK now. But I still can’t reach the Z2M dashboard. No errors in the logs.

Que renvoie la commande docker ps -a ? (Nous cherchons les ports utilisés)

CONTAINER ID   IMAGE                                               COMMAND                  CREATED              STATUS                             PORTS                                                                                                                                     NAMES

a32acb4039e9   koenkk/zigbee2mqtt:2.6.1                            « docker-entrypoint.s… »   About an hour ago    Up About an hour                                                                                                                                                             gladys-z2m-zigbee2mqtt

f7482e46285f   eclipse-mosquitto:2.0.15                            « /docker-entrypoint.… »   About an hour ago    Up About an hour                                                                                                                                                             gladys-z2m-mqtt

085b6f213e91   gladysassistant/gladys:latest                       « docker-entrypoint.s… »   About an hour ago    Up About an hour                                                                                                                                                             gladys

Exécution de ceci :

sudo docker run -d \
--log-driver json-file \
--log-opt max-size=10m \
--cgroupns=host \
--restart=always \
--privileged \
--network=host \
--name gladys \
-e NODE_ENV=production \
-e SERVER_PORT=8001 \
-e TZ=Europe/Amsterdam \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
-v /run/udev:/run/udev:ro \
gladysassistant/gladys:latest

Essayez ceci pour voir quel port du front-end est configuré:

sudo nano /var/lib/gladysassistant/zigbee2mqtt/z2m/configuration.yaml

@NoiZe
si je ne me trompe et si tu utilises les services MQTT et zigbee2mqtt de Gladys (donc services internes) alors tu devrais avoir :

Gladys : port 8001 (d’après ta ligne de commande docker)

MQTT : 1884 (c’est ce que dit ton log et Gladys n’arrive pas a s’y connecter car peut-être erreur de login et/ou paswword

Zigbee2mqtt : port 12000

Petite remarque : tu as zigbee2mqtt en version 2.6.1, ce qui veut dire que soit tu n’as pas la mise à jour de Gladys qui utilise maintenant la 2.7.1, soit tu as un zigbee2mqtt externe.

Autre point, je crois que tu avais un soucis de connexion avec ton dongle zigbee. Est-ce que tu as changé le ZBDongle-P à ZBDongle-E pour tester ?
Tant que zigbee2mqtt n’arrive pas à se connecter au dongle, il redémarrera à l’infini et le système ne fonctionnera pas.

Bref avec tout ça, aucun de ces services n’utilisent le port 8080, donc je me dis que tu as autre chose sur ta machine qui utilise ce port et ce n’est pas Gladys Assistant et ses services.

Je fais tourner MQTT et Z2M dans Gladys. J’ai essayé une mise à jour manuelle depuis la ligne de commande (CLI) ; elle s’est mise à jour vers la dernière version, Z2M aussi en 2.7.1. Tout est connecté et fonctionne, sauf la page de gestion de Z2M.

/var/lib/gladysassistant/zigbee2mqtt/z2m/configuration.yaml:
Front-end port: 12000

Je l’ai changé en 8080 dans le fichier et j’obtiens toujours connexion refusée d’une manière ou d’une autre.
Dans l’interface graphique (GUI) il est passé à 8080. Je ne peux toujours pas changer le port depuis l’interface elle-même. :expressionless:

P.S. J’avais des problèmes avec un dongle Zigbee, mais j’en ai acheté un nouveau qui fonctionne bien.

Journal après redémarrage et purge de Docker (ignorez l’erreur Hue) :

2025-12-10T21:01:04+0100 \u003cinfo\u003e index.js:149 (Object.duckDbShowVersion) DuckDB version = v1.4.1
2025-12-10T21:01:04+0100 \u003cinfo\u003e index.js:98 (Object.duckDbCreateTableIfNotExist) DuckDB - Creating database table if not exist
2025-12-10T21:01:04+0100 \u003cinfo\u003e job.purge.js:17 (Job.purge) Deleting all background jobs created before = Wed Dec 03 2025 21:01:04 GMT+0100 (Central European Standard Time)
2025-12-10T21:01:04+0100 \u003cinfo\u003e system.setDuckDbTimezone.js:14 (System.setDuckDbTimezone) Setting DuckDB timezone to Europe/Amsterdam
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service alexa was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service caldav was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service openweather was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service ecowatt was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service enedis was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service rtsp-camera was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service telegram was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service usb was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service xiaomi was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service bluetooth was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service ewelink was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service tp-link was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service google-actions was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service homekit was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service broadlink was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service lan-manager was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service nextcloud-talk was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service tuya was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service melcloud was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service node-red was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service netatmo was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service sonos was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service zwavejs-ui was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service google-cast was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service airplay was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service free-mobile was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service edf-tempo was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service mqtt was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e service.startAll.js:30 () Service example was manually stopped, so it is ignored at startup
2025-12-10T21:01:10+0100 \u003cinfo\u003e index.js:15 (Object.start) Starting energy monitoring service
2025-12-10T21:01:10+0100 \u003cinfo\u003e index.js:29 (Object.start) Starting MCP service
2025-12-10T21:01:11+0100 \u003cinfo\u003e index.js:18 (Object.start) Starting Matter service
2025-12-10T21:01:11+0100 \u003cinfo\u003e index.js:21 (Object.start) Matter is not enabled
2025-12-10T21:01:11+0100 \u003cinfo\u003e system.isDocker.js:13 (System.isDocker) System.isDocker: This system is running inside Docker.
2025-12-10T21:01:11+0100 \u003cinfo\u003e init.js:63 (Zigbee2mqttManager.init) Zigbee2mqtt USB dongle attached to /dev/ttyUSB0
2025-12-10T21:01:11+0100 \u003cinfo\u003e checkForContainerUpdates.js:14 (Zigbee2mqttManager.checkForContainerUpdates) Checking for current installed versions and required updates...
2025-12-10T21:01:11+0100 \u003cinfo\u003e installMqttContainer.js:114 (Zigbee2mqttManager.installMqttContainer) MQTT broker container successfully started
2025-12-10T21:01:11+0100 \u003cinfo\u003e configureContainer.js:23 (Zigbee2mqttManager.configureContainer) Z2M Docker container is being configured...
2025-12-10T21:01:11+0100 \u003cinfo\u003e configureContainer.js:36 (Zigbee2mqttManager.configureContainer) Z2M configuration file already exists.
2025-12-10T21:01:11+0100 \u003cinfo\u003e installZ2mContainer.js:90 (Zigbee2mqttManager.installZ2mContainer) Zigbee2mqtt container successfully started
2025-12-10T21:01:11+0100 \u003cinfo\u003e connect.js:25 (Zigbee2mqttManager.connect) Connecting Gladys to mqtt://localhost:1884 MQTT broker...
2025-12-10T21:01:11+0100 \u003cinfo\u003e connect.js:35 (MqttClient.\u003canonymous\u003e) Connected to MQTT container mqtt://localhost:1884
2025-12-10T21:01:11+0100 \u003cinfo\u003e subscribe.js:12 (Zigbee2mqttManager.subscribe) Subscribing to MQTT topic zigbee2mqtt/#
2025-12-10T21:01:11+0100 \u003cinfo\u003e index.js:15 (Object.start) Starting Tasmota service
2025-12-10T21:01:11+0100 \u003cinfo\u003e index.js:18 (Object.start) Starting Philips Hue service
2025-12-10T21:01:11+0100 \u003cinfo\u003e index.js:14 (Object.start) Starting CallMeBot service
2025-12-10T21:01:12+0100 \u003cinfo\u003e scene.dailyUpdate.js:58 () Sunrise today is at 8:37 today, in your timezone = Europe/Amsterdam
2025-12-10T21:01:12+0100 \u003cinfo\u003e scene.dailyUpdate.js:59 () Sunset today is at 16:28 today, in your timezone = Europe/Amsterdam
2025-12-10T21:01:12+0100 \u003cinfo\u003e scene.dailyUpdate.js:70 () The sun rose this morning. Not scheduling for today.
2025-12-10T21:01:12+0100 \u003cinfo\u003e scene.dailyUpdate.js:84 () The sun has already set. Not scheduling for today.
2025-12-10T21:01:12+0100 \u003cwarn\u003e light.init.js:29 () Unable to connect to Philips Hue bridge \"Hue Bridge\"
2025-12-10T21:01:12+0100 \u003cinfo\u003e device.migrateFromSQLiteToDuckDb.js:36 (DeviceManager.migrateFromSQLiteToDuckDb) DuckDB : Already migrated from SQLite. Not migrating.
2025-12-10T21:01:12+0100 \u003cinfo\u003e system.checkIfGladysUpgraded.js:17 (System.checkIfGladysUpgraded) Gladys just upgraded from null to v4.66.1
2025-12-10T21:01:12+0100 \u003cerror\u003e system.checkIfGladysUpgraded.js:44 (System.checkIfGladysUpgraded) ServiceNotConfiguredError: Telegram not configured
    at MessageHandler.send (/src/server/services/telegram/lib/message.send.js:17:11)
    at MessageHandler.sendToUser (/src/server/lib/message/message.sendToUser.js:38:35)
    at /src/server/lib/system/system.checkIfGladysUpgraded.js:26:9
2025-12-10T21:01:12+0100 \u003cinfo\u003e index.js:64 (Server.\u003canonymous\u003e) Server listening on port 8001

Si je fais un sudo ss -tunlp, je vois qu’aucun processus n’utilise le port 8080.
Je vois bien ceux en 8001 (Gladys) et 1884 (MQTT).

J’ai fait un curl http://localhost:8080 sur le Pi et à l’intérieur des conteneurs, et j’ai obtenu cette réponse : curl: (7) Failed to connect to localhost port 8080 after 0 ms: Could not connect to server

J’ai également vérifié les ports ouverts dans les conteneurs et je n’ai rien vu sur le port 8080.

Comme cela fonctionnait bien sur le port 8080 avant que je ne le change dans l’interface, est-ce qu’il se pourrait qu’un problème soit survenu à ce moment-là ?

D’après tes logs, tout est ok maintenant pour Z2M et MQTT !
Par contre je sèche pour le port :roll_eyes:
Chez moi je me connecte sur http://ip-de-gladys:12000 et Z2M apparait.

Y a-t-il sur votre système un port 12000 ouvert (ou le 8080) à l’intérieur ou à l’extérieur des conteneurs ?

Non je n’ai rien d’autre d’ouvert sur le 12000, ce port n’est que pour z2m sur ma config et c’est le port d’origine.
J’ai plein de container sur plusieurs ports différents sur mon synology et z2m est un container externe à Gladys, donc je n’ai pas la même installation que toi.

Je crois qu’il manque un bout de ton message.

Erreur de traductions visiblement, j’ai corrigé à la main !

Found some mentions of it on the Z2M Github. Maybe the port isn’t binding.

My solution was this

frontend: enabled: true port: 8080 host: 0.0.0.0

seems like the newest update isn’t automatically binding the container port to 0.0.0.0:8080 … annoying but whatever. Add that to your configuration.yaml and it works.

Check comment

Maybe that’s the case with the configuration.yaml that Gladys uses?

Mon configuration.yaml contient uniquement :

frontend:
  enabled: true
  port: 8080

Et cela fonctionne bien

Je ne suis pas sûr que ce soit le problème ici !