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"