Created
November 6, 2023 11:45
-
-
Save bastiitsab/55be1f93ec1f136ae9e4f95103889fac to your computer and use it in GitHub Desktop.
traefik dahsboard publish
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[+] Running 3/3 | |
✔ Network traefik_default Created 0.0s | |
✔ Container traefik Created 0.1s | |
✔ Container simple-service Created 0.1s | |
Attaching to simple-service, traefik | |
simple-service | 2023/11/06 11:34:26 Starting up on port 80 | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="Configuration loaded from flags." | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="Traefik version 2.10.5 built on 2023-10-11T13:54:02Z" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Static configuration loaded {\"global\":{\"checkNewVersion\":true},\"serversTransport\":{\"maxIdleConnsPerHost\":200},\"entryPoints\":{\"traefik\":{\"address\":\":8080\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}},\"web\":{\"address\":\":80\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}},\"websecure\":{\"address\":\":443\",\"transport\":{\"lifeCycle\":{\"graceTimeOut\":\"10s\"},\"respondingTimeouts\":{\"idleTimeout\":\"3m0s\"}},\"forwardedHeaders\":{},\"http\":{},\"http2\":{\"maxConcurrentStreams\":250},\"udp\":{\"timeout\":\"3s\"}}},\"providers\":{\"providersThrottleDuration\":\"2s\",\"docker\":{\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"swarmModeRefreshSeconds\":\"15s\"}},\"api\":{\"insecure\":true,\"dashboard\":true},\"log\":{\"level\":\"DEBUG\",\"format\":\"common\"},\"certificatesResolvers\":{\"myresolver\":{\"acme\":{\"email\":\"admin@tld.de\",\"caServer\":\"https://acme-v02.api.letsencrypt.org/directory\",\"storage\":\"/letsencrypt/acme.json\",\"keyType\":\"RSA4096\",\"certificatesDuration\":2160,\"dnsChallenge\":{\"provider\":\"cloudflare\"}}}}}" | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="\nStats collection is disabled.\nHelp us improve Traefik by turning this feature on :)\nMore details on: https://doc.traefik.io/traefik/contributing/data-collection/\n" | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="Starting provider aggregator aggregator.ProviderAggregator" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Starting TCP Server" entryPointName=web | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Starting TCP Server" entryPointName=websecure | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Starting TCP Server" entryPointName=traefik | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="Starting provider *docker.Provider" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="*docker.Provider provider configuration: {\"watch\":true,\"endpoint\":\"unix:///var/run/docker.sock\",\"defaultRule\":\"Host(`{{ normalize .Name }}`)\",\"swarmModeRefreshSeconds\":\"15s\"}" | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="Starting provider *acme.ChallengeTLSALPN" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="*acme.ChallengeTLSALPN provider configuration: {}" | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="Starting provider *acme.Provider" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="*acme.Provider provider configuration: {\"email\":\"admin@tld.de\",\"caServer\":\"https://acme-v02.api.letsencrypt.org/directory\",\"storage\":\"/letsencrypt/acme.json\",\"keyType\":\"RSA4096\",\"certificatesDuration\":2160,\"dnsChallenge\":{\"provider\":\"cloudflare\"},\"ResolverName\":\"myresolver\",\"store\":{},\"TLSChallengeProvider\":{},\"HTTPChallengeProvider\":{}}" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Attempt to renew certificates \"720h0m0s\" before expiry and check every \"24h0m0s\"" providerName=myresolver.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory" | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="Testing certificate renew..." providerName=myresolver.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory" | |
traefik | time="2023-11-06T11:34:26Z" level=info msg="Starting provider *traefik.Provider" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="*traefik.Provider provider configuration: {}" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Configuration received: {\"http\":{},\"tcp\":{},\"udp\":{},\"tls\":{}}" providerName=myresolver.acme | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Configuration received: {\"http\":{\"routers\":{\"api\":{\"entryPoints\":[\"traefik\"],\"service\":\"api@internal\",\"rule\":\"PathPrefix(`/api`)\",\"priority\":2147483646},\"dashboard\":{\"entryPoints\":[\"traefik\"],\"middlewares\":[\"dashboard_redirect@internal\",\"dashboard_stripprefix@internal\"],\"service\":\"dashboard@internal\",\"rule\":\"PathPrefix(`/`)\",\"priority\":2147483645}},\"services\":{\"api\":{},\"dashboard\":{},\"noop\":{}},\"middlewares\":{\"dashboard_redirect\":{\"redirectRegex\":{\"regex\":\"^(http:\\\\/\\\\/(\\\\[[\\\\w:.]+\\\\]|[\\\\w\\\\._-]+)(:\\\\d+)?)\\\\/$\",\"replacement\":\"${1}/dashboard/\",\"permanent\":true}},\"dashboard_stripprefix\":{\"stripPrefix\":{\"prefixes\":[\"/dashboard/\",\"/dashboard\"]}}},\"serversTransports\":{\"default\":{\"maxIdleConnsPerHost\":200}}},\"tcp\":{},\"udp\":{},\"tls\":{}}" providerName=internal | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Adding certificate for domain(s) whoami.my.tld" | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Provider connection established with docker 24.0.7 (API 1.43)" providerName=docker | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Filtering disabled container" providerName=docker container=traefik-traefik-bbf1aa9d7263a87d0361301da2c35a171c582a6deec16fd1ad5732ee1cd3c3cd | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Filtering disabled container" providerName=docker container=portainer-portainer-d70bf2471a5f536de58d94680459f8522d2f50cf0a879e28e1c869cf2d6a831b | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Configuration received: {\"http\":{\"routers\":{\"whoami\":{\"entryPoints\":[\"websecure\"],\"service\":\"whoami-traefik\",\"rule\":\"Host(`whoami.my.tld`)\",\"tls\":{\"certResolver\":\"myresolver\"}}},\"services\":{\"whoami-traefik\":{\"loadBalancer\":{\"servers\":[{\"url\":\"http://172.24.0.3:80\"}],\"passHostHeader\":true}}}},\"tcp\":{},\"udp\":{}}" providerName=docker | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="No default certificate, fallback to the internal generated certificate" tlsStoreName=default | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Added outgoing tracing middleware dashboard@internal" middlewareType=TracingForwarder entryPointName=traefik routerName=dashboard@internal middlewareName=tracing | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Creating middleware" routerName=dashboard@internal entryPointName=traefik middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Adding tracing to middleware" routerName=dashboard@internal middlewareName=dashboard_stripprefix@internal entryPointName=traefik | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Creating middleware" middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex entryPointName=traefik routerName=dashboard@internal | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Setting up redirection from ^(http:\\/\\/(\\[[\\w:.]+\\]|[\\w\\._-]+)(:\\d+)?)\\/$ to ${1}/dashboard/" middlewareType=RedirectRegex entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_redirect@internal | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Adding tracing to middleware" middlewareName=dashboard_redirect@internal entryPointName=traefik routerName=dashboard@internal | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Added outgoing tracing middleware api@internal" entryPointName=traefik routerName=api@internal middlewareName=tracing middlewareType=TracingForwarder | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Creating middleware" middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=traefik | |
traefik | time="2023-11-06T11:34:26Z" level=debug msg="Adding certificate for domain(s) whoami.my.tld" | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="No default certificate, fallback to the internal generated certificate" tlsStoreName=default | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Added outgoing tracing middleware api@internal" routerName=api@internal middlewareName=tracing middlewareType=TracingForwarder entryPointName=traefik | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Added outgoing tracing middleware dashboard@internal" entryPointName=traefik routerName=dashboard@internal middlewareName=tracing middlewareType=TracingForwarder | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Creating middleware" middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix entryPointName=traefik routerName=dashboard@internal | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Adding tracing to middleware" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_stripprefix@internal | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Creating middleware" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Setting up redirection from ^(http:\\/\\/(\\[[\\w:.]+\\]|[\\w\\._-]+)(:\\d+)?)\\/$ to ${1}/dashboard/" entryPointName=traefik routerName=dashboard@internal middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Adding tracing to middleware" entryPointName=traefik middlewareName=dashboard_redirect@internal routerName=dashboard@internal | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Creating middleware" entryPointName=traefik middlewareName=traefik-internal-recovery middlewareType=Recovery | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Creating middleware" routerName=whoami@docker entryPointName=websecure serviceName=whoami-traefik middlewareName=pipelining middlewareType=Pipelining | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Creating load-balancer" routerName=whoami@docker entryPointName=websecure serviceName=whoami-traefik | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Creating server 0 http://172.24.0.3:80" entryPointName=websecure serviceName=whoami-traefik routerName=whoami@docker serverName=0 | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="child http://172.24.0.3:80 now UP" | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Propagating new UP status" | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Added outgoing tracing middleware whoami-traefik" middlewareType=TracingForwarder entryPointName=websecure routerName=whoami@docker middlewareName=tracing | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Creating middleware" middlewareName=traefik-internal-recovery middlewareType=Recovery entryPointName=websecure | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Adding route for whoami.my.tld with TLS options default" entryPointName=websecure | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Trying to challenge certificate for domain [whoami.my.tld] found in HostSNI rule" rule="Host(`whoami.my.tld`)" routerName=whoami@docker providerName=myresolver.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory" | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="Looking for provided certificate(s) to validate [\"whoami.my.tld\"]..." ACME CA="https://acme-v02.api.letsencrypt.org/directory" rule="Host(`whoami.my.tld`)" routerName=whoami@docker providerName=myresolver.acme | |
traefik | time="2023-11-06T11:34:27Z" level=debug msg="No ACME certificate generation required for domains [\"whoami.my.tld\"]." rule="Host(`whoami.my.tld`)" routerName=whoami@docker providerName=myresolver.acme ACME CA="https://acme-v02.api.letsencrypt.org/directory" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.3" | |
secrets: | |
CF_DNS_API_TOKEN: | |
file: "/etc/docker/.secrets/.CF_DNS_API_TOKEN" | |
services: | |
traefik: | |
image: "traefik:v2.10" | |
container_name: "traefik" | |
command: | |
- "--log.level=DEBUG" | |
- "--api.insecure=true" # - "--api" | |
- "--providers.docker=true" | |
- "--providers.docker.exposedbydefault=false" | |
- "--entrypoints.web.address=:80" | |
- "--entrypoints.websecure.address=:443" | |
- "--certificatesresolvers.myresolver.acme.dnschallenge=true" | |
- "--certificatesresolvers.myresolver.acme.dnschallenge.provider=cloudflare" | |
#- "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory" | |
- "--certificatesresolvers.myresolver.acme.email=admin@my.tld" | |
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" | |
labels: | |
- "traefik.http.middlewares.httpsonly.redirectscheme.scheme=https" | |
- "traefik.http.middlewares.httpsonly.redirectscheme.permanent=true" | |
- "traefik.http.routers.httpsonly.rule=HostRegexp(`{any:.*}`)" | |
- "traefik.http.routers.httpsonly.middlewares=httpsonly" | |
- "traefik.http.routers.dashboard.rule=Host(`traefik.my.tld`)" | |
- "traefik.http.routers.dashboard.service=dashboard@internal" | |
- "traefik.http.routers.api.rule=Host(`traefik.my.tld`) && PathPrefix(`/api`)" | |
- "traefik.http.routers.api.service=api@internal" | |
- "traefik.http.routers.dashboard.tls=true" | |
- "traefik.http.routers.dashboard.tls.certresolver=myresolver" | |
- "traefik.http.routers.dashboard.entrypoints=websecure" | |
- "traefik.http.routers.api.tls=true" | |
- "traefik.http.routers.api.tls.certresolver=myresolver" | |
ports: | |
- "80:80" | |
- "443:443" | |
- "8080:8080" | |
secrets: | |
- "CF_DNS_API_TOKEN" | |
environment: | |
- "CF_DNS_API_TOKEN_FILE=/run/secrets/CF_DNS_API_TOKEN" | |
volumes: | |
- "./letsencrypt:/letsencrypt" | |
- "/var/run/docker.sock:/var/run/docker.sock:ro" | |
whoami: | |
image: "traefik/whoami" | |
container_name: "simple-service" | |
labels: | |
- "traefik.enable=true" | |
- "traefik.http.routers.whoami.rule=Host(`whoami.my.tld`)" | |
- "traefik.http.routers.whoami.entrypoints=websecure" | |
- "traefik.http.routers.whoami.tls.certresolver=myresolver" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment