Can't reach SWAG Dashboard from sub network

I have some trouble to reach the SWAG Dashboard.

My Nettwork:

I can access the services behind SWAG from the internet. That’s fine.
I can’t reach the SWAG dashboard.

A ping from 192.168.200.21 to 192.168.100.11 works!

ping 192.168.100.11
PING 192.168.100.11 (192.168.100.11) 56(84) Bytes an Daten.
64 Bytes von 192.168.100.11: icmp_seq=1 ttl=64 Zeit=0.310 ms
64 Bytes von 192.168.100.11: icmp_seq=2 ttl=64 Zeit=0.234 ms
64 Bytes von 192.168.100.11: icmp_seq=3 ttl=64 Zeit=0.226 ms
64 Bytes von 192.168.100.11: icmp_seq=4 ttl=64 Zeit=0.213 ms
64 Bytes von 192.168.100.11: icmp_seq=5 ttl=64 Zeit=0.260 ms
64 Bytes von 192.168.100.11: icmp_seq=6 ttl=64 Zeit=0.237 ms
^C
--- 192.168.100.11 Ping-Statistiken ---
6 Pakete übertragen, 6 empfangen, 0% packet loss, time 5076ms
rtt min/avg/max/mdev = 0.213/0.246/0.310/0.031 ms

When I type http://192.168.100.11:81 into firefox nothing happens.
Firefox try to get a connection. After some minutes I get the Error message Der Server unter 192.168.100.11 braucht zu lange, um eine Antwort zu senden. (The server at 192.168.100.11 takes too long to send a response.)

Any ideas what the problem could be?
Which ports does the SWAG Dashboard respond to?

please share your docker run or compose for swag and the full container logs which begin with out ascii logo

Here the docker compose:

services:
  swag:
    image: linuxserver/swag
    container_name: swag
    cap_add:
      - NET_ADMIN
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Berlin
      - URL=<my_url>
      - SUBDOMAINS=wildcard
      - VALIDATION=duckdns
      - DUCKDNSTOKEN=<my_token>
      - DOCKER_MODS=linuxserver/mods:swag-dashboard
    volumes:
      - /docker_app_data/swag:/config
      - /nextcloud/nextcloud.log:/nextcloud/nextcloud.log:ro
    ports:
      - 192.168.100.11:443:443
      - 192.168.100.11:81:81
    restart: unless-stopped
    networks:
      - swag_default

The swag /docker) log:

swag  | [mod-init] Running Docker Modification Logic
swag  | [mod-init] Adding linuxserver/mods:swag-dashboard to container
swag  | [mod-init] Downloading linuxserver/mods:swag-dashboard from lscr.io
swag  | [mod-init] Installing linuxserver/mods:swag-dashboard
swag  | [mod-init] linuxserver/mods:swag-dashboard applied to container
swag  | [migrations] started
swag  | [migrations] 01-nginx-site-confs-default: skipped
swag  | [migrations] 02-swag-old-certbot-paths: skipped
swag  | [migrations] done
swag  | ───────────────────────────────────────
swag  | 
swag  |       ██╗     ███████╗██╗ ██████╗
swag  |       ██║     ██╔════╝██║██╔═══██╗
swag  |       ██║     ███████╗██║██║   ██║
swag  |       ██║     ╚════██║██║██║   ██║
swag  |       ███████╗███████║██║╚██████╔╝
swag  |       ╚══════╝╚══════╝╚═╝ ╚═════╝
swag  | 
swag  |    Brought to you by linuxserver.io
swag  | ───────────────────────────────────────
swag  | 
swag  | To support the app dev(s) visit:
swag  | Certbot: https://supporters.eff.org/donate/support-work-on-certbot
swag  | 
swag  | To support LSIO projects visit:
swag  | https://www.linuxserver.io/donate/
swag  | 
swag  | ───────────────────────────────────────
swag  | GID/UID
swag  | ───────────────────────────────────────
swag  | 
swag  | User UID:    1000
swag  | User GID:    1000
swag  | ───────────────────────────────────────
swag  | Linuxserver.io version: 3.2.0-ls364
swag  | Build-date: 2025-02-15T03:26:17+00:00
swag  | ───────────────────────────────────────
swag  |     
swag  | using keys found in /config/keys
swag  | Variables set:
swag  | PUID=1000
swag  | PGID=1000
swag  | TZ=Europe/Berlin
swag  | URL=<my_url>
swag  | SUBDOMAINS=wildcard
swag  | EXTRA_DOMAINS=
swag  | ONLY_SUBDOMAINS=false
swag  | VALIDATION=duckdns
swag  | CERTPROVIDER=
swag  | DNSPLUGIN=
swag  | EMAIL=
swag  | STAGING=
swag  | 
swag  | the resulting certificate will only cover the subdomains due to a limitation of duckdns, so it is advised to set the root location to use www.subdomain.duckdns.org
swag  | Using Let's Encrypt as the cert provider
swag  | SUBDOMAINS entered, processing
swag  | Wildcard cert for m5t6n5r.duckdns.org will be requested
swag  | No e-mail address entered or address invalid
swag  | dns validation via duckdns plugin is selected
swag  | Certificate exists; parameters unchanged; starting nginx
swag  | The cert does not expire within the next day. Letting the cron script handle the renewal attempts overnight (2:08am).
swag  | **** Applying the SWAG dashboard mod... ****
swag  | **** Adding goaccess to package install list ****
swag  | **** libmaxminddb already installed, skipping ****
swag  | **** Applied the SWAG dashboard mod ****
swag  | [pkg-install-init] **** Installing all mod packages ****
swag  | fetch http://dl-cdn.alpinelinux.org/alpine/v3.21/main/x86_64/APKINDEX.tar.gz
swag  | fetch http://dl-cdn.alpinelinux.org/alpine/v3.21/community/x86_64/APKINDEX.tar.gz
swag  | (1/1) Installing goaccess (1.9.3-r0)
swag  | Executing busybox-1.37.0-r12.trigger
swag  | OK: 184 MiB in 223 packages
swag  | [custom-init] No custom files found, skipping...
swag  | [ls.io-init] done.
swag  | Server ready