2023-02-15 21:45:31 +00:00
version : '3'
services :
traefik :
container_name : traefik
2024-07-02 12:54:11 +00:00
image : traefik:v3.1
2023-02-15 21:45:31 +00:00
ports :
2024-05-23 20:30:16 +00:00
- 80 : 80 /tcp # HTTP
- 443 : 443 /tcp # HTTPS
- 443 : 443 /udp # HTTPS via HTTP/3 QUIC UDP
2023-07-20 15:06:36 +00:00
- 127.0 .0 .1 : 8080 : 8080 # MGMT WEB UI
2023-02-15 21:45:31 +00:00
volumes :
- /var/run/docker.sock:/var/run/docker.sock:ro # ro = read-only access to the docker.sock
2023-02-25 13:09:52 +00:00
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik:/etc/traefik/ # put the provided traefik.yml and fileConfig.yml files at this location
- ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/traefik/logs:/logs
2023-02-15 21:45:31 +00:00
networks :
- proxy
environment :
- TZ=Europe/Berlin
2024-01-13 19:14:28 +00:00
- CF_DNS_API_TOKEN=MyCloudflareApiToken # change this if you use Cloudflare
2023-02-15 21:45:31 +00:00
labels :
- traefik.enable=true
- traefik.http.routers.api.rule=Host(`traefik.example.com`) # Define the subdomain for the traefik dashboard.
- traefik.http.routers.api.service=api@internal # Enable Traefik API.
2023-02-19 12:49:32 +00:00
- traefik.http.routers.api.middlewares=local-ipwhitelist@file,basic-auth@file # protect dashboard with basic auth and restrict access to private class subnets only
#- traefik.http.middlewares.basic-auth-global.basicauth.users=admin:$$apr1$$epoKf5li$$QfTMJZOCS/halv3CiIUEu0 # protect the traefik dashboard by basic auth (pw=password)
2023-02-15 21:45:31 +00:00
restart : always
extra_hosts :
- host.docker.internal:172.17.0.1
networks :
proxy :
external : true