HA Docker with SLZB-07Mg24 Matter/Thread USB

Hi All, brand you to all of this. Trying to bringup HA with the USB dongles. Got one of each (ZWave, Zigbee and Matter/Thread). To make things worse, setting things up using docker compose.

I have performed the following steps:

  1. Using SMLIGHT SLZB-07Mg24 USB stick for Matter/Thread. I’ve updated the firmware to Thread already.
  2. Added matter-server container to docker compose.
  3. Installed Matter(Beta) integration and connected it to the matter-server websocket server. Looks like that worked.

Yet I didn’t get to the point to specify which USB device to use for Thread. Would I need to bring-up the OpenThreadBorderRouter container and point it to the Thread USB dongle (SLZB-07Mg24)?

I would appreciate some input on this. Very hard to find docs on this. TY!
Below is how my docker compose looks like.

I also have another Matter network provided by the Apple TV. Would it cause any troubles?

services:
  homeassistant:
    container_name: homeassistant
    image: "ghcr.io/home-assistant/home-assistant:stable"
    volumes:
      - /home/ubuntu/home-assistant/config:/config
      - /etc/localtime:/etc/localtime:ro
      - /run/dbus:/run/dbus:ro
    restart: unless-stopped
    privileged: true
    network_mode: host

  zwavejs2mqtt:
    container_name: zwavejs2mqtt
    image: zwavejs/zwavejs2mqtt:latest
    restart: always
    tty: true
    stop_signal: SIGINT
    environment:
      - SESSION_SECRET=xxxxxxxxxxxxx
      - ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db
    devices:
      - '/dev/serial/by-id/usb-Zooz_800_Z-Wave_Stick_533D004242-if00:/dev/zwave'
    volumes:
      - /home/ubuntu/home-assistant/addons/z-wave-js/:/usr/src/app/store
    network_mode: host

  matter-server:
    container_name: matter-server
    image: ghcr.io/home-assistant-libs/python-matter-server:stable
    restart: unless-stopped
    security_opt:
      - apparmor=unconfined
    volumes:
      - /home/ubuntu/home-assistant/addons/matter-server:/data
      - /run/dbus:/run/dbus:ro
    network_mode: host

  otbr:
    image: siliconlabsinc/openthread-border-router:latest
    privileged: true
    network_mode: host
    devices:
      - "/dev/ttyACM0:/dev/ttyACM0" # Adjust if your RCP is on a different port
    environment:
      - OTBR_DOCKER_MODE=rcp # Use a physical RCP
      - OTBR_RADIO_URL="spinel+hdlc:///dev/ttyACM0" # Adjust if your RCP is on a different port
    volumes:
      - ./otbr-data:/var/lib/otbr # Persist OTBR data

You should create a docker network that the containers can use to communicate on.
You should also add hostnames to your containers to allow, for example, connection to zwave container at hostname:port instead of IP:port

No. You can add matter devices to multiple networks.
I never used apple but in HA there is a “share device” link. It puts the device in commisioning mode and allows it to be paired to another network. Pretty sure this is standard for all matter hubs.

That’s another way of doing, but I have started simple with using host network. That way I can connect using localhost:port.

But my question was more about setting up Thread