@Reno I’ll reply to your message here!
It needs to be as plug-and-play as possible, working by default without the user having to understand what’s happening under the hood.
What I see:
- When the user wants to configure the zigbee2mqtt service (and only at that moment), the service automatically launches the right containers, without the user having to enter or understand anything. An « advanced » tab can allow the experienced user to get their hands dirty if it’s really useful. If it’s not useful, there’s no need to display it. A small explanatory sentence about what’s happening might be useful, without drowning the beginner.
- Be sure to check that it’s a Docker installation, otherwise fall back to the current solution.
- You can use the dockerode library that we already use in Gladys 4

- Be careful not to interfere with the MQTT service. In my opinion, given the weight of an MQTT container (it’s negligible), it would be better to launch an MQTT container dedicated to zigbee2mqtt, otherwise you might run into hard-to-understand flow problems for the user (example: I launch zigbee2mqtt, then I configure MQTT with an external MQTT to use Owntracks for example → zigbee2mqtt broken??). It would be cool if these two services were not dependent.
- Be sure to delete the zigbee2mqtt + MQTT container if the user no longer wants to use the service.
- Be sure to manage the different architectures: the images must be different depending on whether the user is on an ARM system (Rasp) or x86 (Synology, home server, or development machine).
What do you think?