Configuring Mumble with Traefik and Docker Compose

I tried to make the minimum viable configuration to get up and running with Traefik, without the web UI.
My configuration looks a little something like this:

services:
  reverse-proxy:
    image: traefik:v3.0
    command:
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
    ports:
      - "80:80"

    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"

  web:
    image: httpd:2.4
    volumes:
      - "./web:/usr/local/apache2/htdocs/"
    labels:
      - "traefik.http.routers.web.rule=Host(`example.dev`)"
      - "traefik.http.services.web.loadbalancer.server.port=80"

  whoami:
    image: containous/whoami
    labels:
      - "traefik.http.routers.whoami.rule=Host(`whoami.example.dev`)"
      - "traefik.http.services.whoami.loadbalancer.server.port=80"

How could I have a Mumble server accessible at example.dev? I tried adding a Mumble server to my Docker Compose config, but it only was accessible at the direct IP and not the domain as I thought it would be able to. Mumble requires port 64738 on both TCP and UDP, I believe.

You want to run Mumble through Traefik?

Even a Traefik maintainer is running Mumble without (link).

UDP does not allow sending of the domain info, so you can’t match with HTTP (Host()) or TLS (HostSNI()). You can only run a single server per port.

For real time coms an extra hop will always add latency. I would only use Traefik if the Mumble server can not get its own public IP (can not be reached from Internet), if you really need to proxy all connections.