Enabling basicauth on docker running on different server

Running Traefik v2.9.6 on server 192.168.1.113
I'd like to expose other docker running on different server 192.168.1.3:5001(webui)
with basicauth so there will be logging screen.
at current - manage to the external add the docker as following ,

dynamic.yaml:

http:
  routers:
 
    service-router:
      entryPoints:
        - websecure
      service: service-frigate
      rule: Host(`frigate.mydomain.com`)
      tls:
        certResolver: myresolver

  services:
    service-frigate:
      loadBalancer:
        servers:
          - url: "http://192.168.1.3:5001"


Traefik docker compose:


services:


  traefik:
    image: traefik:latest
    container_name: traefik
    networks:
      inframain:
        ipv4_address: 172.29.0.4
    restart: always
    command:
      - --log.level=INFO
      - --log.filePath=etc/traefik/log/traefik.log
      - --accessLog.filePath=etc/traefik/log/access.log
      - --accessLog.bufferingSize=100
      - --providers.docker=true
      - --providers.docker.exposedbydefault=false
      - --api
      #allow access on 8888 
      - --api.insecure=true
      
      - --entrypoints.traefik.address=:8888

      - --entrypoints.web.address=:80
      - --entrypoints.web.http.redirections.entrypoint.to=websecure
      - --entrypoints.web.http.redirections.entrypoint.scheme=https

      - --entrypoints.websecure.address=:443
      - --entrypoints.websecure.http.tls.certresolver=myresolver
      - --certificatesresolvers.myresolver.acme.dnschallenge=true
      - --certificatesresolvers.myresolver.acme.email=${CF_API_EMAIL}
      - --certificatesresolvers.myresolver.acme.storage=acme.json   
      - --certificatesresolvers.myresolver.acme.dnschallenge.provider=cloudflare
            # specify dynamic configuration file:
      - --providers.file.filename=/dynamic.yaml
      - --providers.file.watch=true
    ports:
      - 80:80
      - 443:443
      - 8888:8888
    environment:
      - CF_API_EMAIL=${CF_API_EMAIL}
      - CF_API_KEY=${CF_API_KEY}
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock
      - ./traefik/acme.json:/acme.json    
      - ./traefik/:/etc/traefik/log/
      - ./traefik/dynamic.yaml:/dynamic.yaml
    labels:
      traefik.enable: true
      # Dashboard
      traefik.http.routers.traefik.rule: Host(`traefik.${DOMAINNAME}`)
      traefik.http.routers.traefik.entrypoints: websecure
      traefik.http.routers.traefik.service: api@internal
      traefik.http.routers.traefik.middlewares: auth
      traefik.http.middlewares.auth.basicauth.users: {TRAEFIK_USER}:${TRAEFIK_PASS}

following documentation - this will set the a middlewares but i dont understand how do i relate it to specific docker (in case i have multiple dockers in the dynamic.yaml)

http:
  middlewares:
    test-auth:
      basicAuth:
        users:
          - "test:$apr1$H6uskkkW$IgXLP6ewTrSuBkTrqE8wj/"
          - "test2:$apr1$d9hr9HBB$4HxwgUir3HP4EsggP/QNo0"

Basicauth does not have a login screen, but the browser usually opens a dialogue for user/pass and then passes on the credentials to the website.

You need to assign the middleware to the router, like you did before:

You can do that in your dynamic configuration file, too.

Furthermore you could enable Traefik debug log. I always recommend to use absolute paths like /etc.