Installing openthread boarder router in a docker container on a raspberry pi with a SLZB-MR1

For better or for worst, I am using Home Assistant Core, inside docker, on a raspberry pi 5. And now I have an SLZB-MR1 device, which I need to connect to Home Assistant.

The SLZB-MR1 can be detected when running lsusb on docker.

root@docker01:~/smarthome/containers# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 2174:2000 Transcend StoreJet Transcend
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

I am having trouble installing the openthread border router container. I tried something like this

  otbr:
    image: openthread/border-router
    container_name: otbr
    restart: always
    network_mode: "host"
    cap_add:
      - NET_ADMIN
    devices:
      - "/dev/ttyUSB0:/dev/ttyUSB0"
      - "/dev/net/tun:/dev/net/tun"
    volumes:
      - "/var/lib/otbr:/data"
    environment:
      OT_RCP_DEVICE: "spinel+hdlc+uart:///dev/ttyUSB0?uart-baudrate=460800"
      OT_INFRA_IF: "wlan0"
      OT_THREAD_IF: "wpan0"
      OT_LOG_LEVEL: "7"
      OT_REST_LISTEN_ADDR: "0.0.0.0"
      OT_REST_LISTEN_PORT: "8080"

But I keep getting errors in the container logs.

* s6-rc: info: service otbr-agent successfully started
* s6-rc: info: service otbr-web: starting
* s6-rc: info: service otbr-web successfully started
* s6-rc: info: service legacy-services: starting
* Starting otbr-web...
* [INFO]-WEB-----: Running 0.3.0-ca15c52
* [INFO]-WEB-----: Border router web started on wpan0
00:00:00.271 [I] P-Daemon------: Session socket is ready
00:00:00.271 [D] Cli-----------: Input: state
00:00:00.271 [D] Cli-----------: Output: disabled
00:00:00.271 [D] Cli-----------: Output: Done
* s6-rc: info: service legacy-services successfully started
* 00:00:00.843 [I] TrelDiscoverer: DNS-SD service registered successfully
* 00:00:00.843 [I] TrelPeerTable-: Added peer otTRELfa3007dbbe3d0807, dnssd-state:resolving
* 00:00:00.843 [I] TrelDiscoverer: Peer otTRELfa3007dbbe3d0807 is this device itself
* 00:00:00.843 [I] TrelPeerTable-: Deleted peer otTRELfa3007dbbe3d0807, dnssd-state:resolving
* [WARN]-REST----: /usr/src/ot-br-posix/src/rest/rest_web_server.cpp:1085 Error (404) -
* [WARN]-REST----: /usr/src/ot-br-posix/src/rest/rest_web_server.cpp:1085 Error (404) -
* [WARN]-REST----: /usr/src/ot-br-posix/src/rest/rest_web_server.cpp:1085 Error (404) -

and when I try to access the otbr web interface, I get this

Has anyone ever done what I’m trying to do? Or do you know what could I be doing wrong?

FWIW, this is called a Home Assistant Container installation. “Core” is pure python and deprecated.

Don’t you have something else listening on 8080 on your host?

Actually, your REST API seems to be runnning. The 404 response on your GET request to 192.168.10.12:8080 is correct.
You should be able to add this exact URL in the OpenThreadBorderRouter integration in HomeAssistant.
If everything else is correctly configured, the Thread integration should show a network and this border router as default border router.
Did you configure the ipv4 and ipv6 forwarding in sysctl?