So i tried your docker compose file what did you suggested before and this is result:
docker-compose.yml
version: '3.9'
services:
traefik:
image: traefik:v3.0
ports:
- 80:80
- 443:443
networks:
- proxy
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /home/ubuntu/docker/traefik/letsencrypt:/letsencrypt
- /home/ubuntu/docker/traefik/logs:/var/log
environment:
- BUNNY_API_KEY=BUNNY_API_KEY_WHAT_I_HAVE
command:
- --api.dashboard=true
- --log.level=DEBUG
- --log.filepath=/var/log/traefik.log
- --accesslog=true
- --accesslog.filepath=/var/log/traefik-access.log
- --providers.docker.network=proxy
- --providers.docker.exposedByDefault=false
- --entrypoints.web.address=:80
- --entrypoints.web.http.redirections.entrypoint.to=websecure
- --entryPoints.web.http.redirections.entrypoint.scheme=https
- --entrypoints.websecure.address=:443
# remove next line when using Traefik v2
- --entrypoints.websecure.asDefault=true
- --entrypoints.websecure.http.tls.certresolver=bunny
- --certificatesresolvers.bunny.acme.email=myownmail@myowndomain.com
- --certificatesresolvers.bunny.acme.tlschallenge=true
- --certificatesresolvers.bunny.acme.storage=/letsencrypt/acme.json
labels:
- traefik.enable=true
- traefik.http.routers.mydashboard.rule=Host(`traefik.myowndomain.com`)
- traefik.http.routers.mydashboard.service=api@internal
- traefik.http.routers.mydashboard.middlewares=myauth
- traefik.http.middlewares.myauth.basicauth.users=user:blablablabla/
whoami:
image: traefik/whoami:v1.8
networks:
- proxy
labels:
- traefik.enable=true
- traefik.http.routers.mywhoami.rule=Host(`whoami.myowndomain.com`) || Host(`www.whoami.myowndomain.com`)
- traefik.http.services.mywhoami.loadbalancer.server.port=80
- traefik.http.middlewares.mywwwredirect.redirectregex.regex=^https://www\.(.*)
- traefik.http.middlewares.mywwwredirect.redirectregex.replacement=https://$${1}
- traefik.http.routers.mywhoami.middlewares=mywwwredirect
networks:
proxy:
name: proxy
volumes:
letsencrypt:
name: letsencrypt
But it still doesn't work, this is a protocol that can't get acme from the resolver:
2024-06-20T01:46:22Z INF github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:73 > Starting provider aggregator aggregator.ProviderAggregator
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:220 > Starting TCP Server entryPointName=web
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:220 > Starting TCP Server entryPointName=websecure
2024-06-20T01:46:22Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *traefik.Provider
2024-06-20T01:46:22Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *docker.Provider
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *docker.Provider provider configuration config={"defaultRule":"Host(`{{ normalize .Name }}`)","endpoint":"unix:///var/run/docker.sock","network":"proxy","watch":true}
2024-06-20T01:46:22Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *acme.ChallengeTLSALPN
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *traefik.Provider provider configuration config={}
2024-06-20T01:46:22Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *acme.Provider
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *acme.ChallengeTLSALPN provider configuration config={}
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *acme.Provider provider configuration config={"HTTPChallengeProvider":{},"ResolverName":"bunny","TLSChallengeProvider":{},"caServer":"https://acme-v02.api.letsencrypt.org/directory","certificatesDuration":2160,"email":"user@myowndoemain.com","keyType":"RSA4096","storage":"/letsencrypt/acm.json","store":{},"tlsChallenge":{}}
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:213 > Attempt to renew certificates "720h0m0s" before expiry and check every "24h0m0s" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme
2024-06-20T01:46:22Z INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:795 > Testing certificate renew... acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{"middlewares":{"redirect-web-to-websecure":{"redirectScheme":{"permanent":true,"port":"443","scheme":"https"}}},"models":{"websecure":{"tls":{"certResolver":"bunny"}}},"routers":{"web-to-websecure":{"entryPoints":["web"],"middlewares":["redirect-web-to-websecure"],"priority":9223372036854775806,"rule":"HostRegexp(`^.+$`)","ruleSyntax":"v3","service":"noop@internal"}},"serversTransports":{"default":{"maxIdleConnsPerHost":200}},"services":{"api":{},"dashboard":{},"noop":{}}},"tcp":{"serversTransports":{"default":{"dialKeepAlive":"15s","dialTimeout":"30s"}}},"tls":{},"udp":{}} providerName=internal
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{},"tcp":{},"tls":{},"udp":{}} providerName=bunny.acme
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/docker/pdocker.go:89 > Provider connection established with docker 25.0.2 (API 1.44) providerName=docker
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{"middlewares":{"myauth":{"basicAuth":{"users":["user:blablablabla"]}},"mywwwredirect":{"redirectRegex":{"regex":"^https://www\\.(.*)","replacement":"https://${1}"}}},"routers":{"mydashboard":{"middlewares":["myauth"],"rule":"Host(`traefik.myowndomain.com`)","service":"api@internal"},"mywhoami":{"middlewares":["mywwwredirect"],"rule":"Host(`whoami.myowndomain.com`) || Host(`www.whoami.myowndomain.com`)","service":"mywhoami"}},"services":{"mywhoami":{"loadBalancer":{"passHostHeader":true,"responseForwarding":{"flushInterval":"100ms"},"servers":[{"url":"http://172.17.0.2:80"}]}},"traefik-traefik":{"loadBalancer":{"passHostHeader":true,"responseForwarding":{"flushInterval":"100ms"},"servers":[{"url":"http://172.17.0.3:80"}]}}}},"tcp":{},"tls":{},"udp":{}} providerName=docker
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_scheme.go:29 > Creating middleware entryPointName=web middlewareName=redirect-web-to-websecure@internal middlewareType=RedirectScheme routerName=web-to-websecure@internal
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_scheme.go:30 > Setting up redirection to https 443 entryPointName=web middlewareName=redirect-web-to-websecure@internal middlewareType=RedirectScheme routerName=web-to-websecure@internal
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:22 > Creating middleware entryPointName=web middlewareName=traefik-internal-recovery middlewareType=Recovery
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/aggregator.go:51 > No entryPoint defined for this router, using the default one(s) instead entryPointName=["websecure"] routerName=mydashboard
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/aggregator.go:51 > No entryPoint defined for this router, using the default one(s) instead entryPointName=["websecure"] routerName=mywhoami
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_scheme.go:29 > Creating middleware entryPointName=web middlewareName=redirect-web-to-websecure@internal middlewareType=RedirectScheme routerName=web-to-websecure@internal
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_scheme.go:30 > Setting up redirection to https 443 entryPointName=web middlewareName=redirect-web-to-websecure@internal middlewareType=RedirectScheme routerName=web-to-websecure@internal
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:22 > Creating middleware entryPointName=web middlewareName=traefik-internal-recovery middlewareType=Recovery
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/auth/basic_auth.go:33 > Creating middleware entryPointName=websecure middlewareName=myauth@docker middlewareType=BasicAuth routerName=mydashboard@docker
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=websecure middlewareName=myauth@docker routerName=mydashboard@docker
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/service/service.go:259 > Creating load-balancer entryPointName=websecure routerName=mywhoami@docker serviceName=mywhoami@docker
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/service/service.go:301 > Creating server entryPointName=websecure routerName=mywhoami@docker serverName=8f04b357cf450275 serviceName=mywhoami@docker target=http://172.17.0.2:80
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:17 > Creating middleware entryPointName=websecure middlewareName=mywwwredirect@docker middlewareType=RedirectRegex routerName=mywhoami@docker
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:18 > Setting up redirection from ^https://www\.(.*) to https://${1} entryPointName=websecure middlewareName=mywwwredirect@docker middlewareType=RedirectRegex routerName=mywhoami@docker
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=websecure middlewareName=mywwwredirect@docker routerName=mywhoami@docker
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:22 > Creating middleware entryPointName=websecure middlewareName=traefik-internal-recovery middlewareType=Recovery
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/router/tcp/manager.go:237 > Adding route for traefik.myowndomain.com with TLS options default entryPointName=websecure
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/router/tcp/manager.go:237 > Adding route for whoami.myowndomain.com with TLS options default entryPointName=websecure
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/server/router/tcp/manager.go:237 > Adding route for www.whoami.myowndomain.com with TLS options default entryPointName=websecure
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [traefik.myowndomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme routerName=mydashboard@docker rule=Host(`traefik.myowndomain.com`)
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["traefik.myowndomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme routerName=mydashboard@docker rule=Host(`traefik.myowndomain.com`)
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:897 > Domains need ACME certificates generation for domains "traefik.myowndomain.com". ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["traefik.myowndomain.com"] providerName=bunny.acme routerName=mydashboard@docker rule=Host(`traefik.myowndomain.com`)
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:384 > Trying to challenge certificate for domain [whoami.myowndomain.com www.whoami.myowndomain.com] found in HostSNI rule ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme routerName=mywhoami@docker rule="Host(`whoami.myowndomain.com`) || Host(`www.whoami.myowndomain.com`)"
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:619 > Loading ACME certificates [traefik.myowndomain.com]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme routerName=mydashboard@docker rule=Host(`traefik.myowndomain.com`)
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:851 > Looking for provided certificate(s) to validate ["whoami.myowndomain.com" "www.whoami.myowndomain.com"]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme routerName=mywhoami@docker rule="Host(`whoami.myowndomain.com`) || Host(`www.whoami.myowndomain.com`)"
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:897 > Domains need ACME certificates generation for domains "whoami.myowndomain.com,www.whoami.myowndomain.com". ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["whoami.myowndomain.com","www.whoami.myowndomain.com"] providerName=bunny.acme routerName=mywhoami@docker rule="Host(`whoami.myowndomain.com`) || Host(`www.whoami.myowndomain.com`)"
2024-06-20T01:46:22Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:619 > Loading ACME certificates [whoami.myowndomain.com www.whoami.myowndomain.com]... ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme routerName=mywhoami@docker rule="Host(`whoami.myowndomain.com`) || Host(`www.whoami.myowndomain.com`)"
2024-06-20T01:46:24Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:251 > Building ACME client... providerName=bunny.acme
2024-06-20T01:46:24Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:257 > https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme
2024-06-20T01:46:34Z ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:396 > Unable to obtain ACME certificate for domains error="cannot get ACME client get directory at 'https://acme-v02.api.letsencrypt.org/directory': Get \"https://acme-v02.api.letsencrypt.org/directory\": dial tcp: lookup acme-v02.api.letsencrypt.org on 127.0.0.11:53: read udp 127.0.0.1:51745->127.0.0.11:53: i/o timeout" ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["traefik.myowndomain.com"] providerName=bunny.acme routerName=mydashboard@docker rule=Host(`traefik.myowndomain.com`)
2024-06-20T01:46:34Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:251 > Building ACME client... providerName=bunny.acme
2024-06-20T01:46:34Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:257 > https://acme-v02.api.letsencrypt.org/directory providerName=bunny.acme
2024-06-20T01:46:44Z ERR github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:396 > Unable to obtain ACME certificate for domains error="cannot get ACME client get directory at 'https://acme-v02.api.letsencrypt.org/directory': Get \"https://acme-v02.api.letsencrypt.org/directory\": dial tcp: lookup acme-v02.api.letsencrypt.org on 127.0.0.11:53: read udp 127.0.0.1:35092->127.0.0.11:53: i/o timeout" ACME CA=https://acme-v02.api.letsencrypt.org/directory acmeCA=https://acme-v02.api.letsencrypt.org/directory domains=["whoami.myowndomain.com","www.whoami.myowndomain.com"] providerName=bunny.acme routerName=mywhoami@docker rule="Host(`whoami.myowndomain.com`) || Host(`www.whoami.myowndomain.com`)"
2024-06-20T01:47:32Z INF github.com/traefik/traefik/v3/pkg/server/server.go:51 > I have to go...
2024-06-20T01:47:32Z INF github.com/traefik/traefik/v3/pkg/server/server.go:52 > Stopping server gracefully
2024-06-20T01:47:32Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:287 > Waiting 10s seconds before killing connections entryPointName=web
2024-06-20T01:47:32Z ERR github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:229 > error="accept tcp [::]:80: use of closed network connection" entryPointName=web
2024-06-20T01:47:32Z ERR github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:664 > Error while starting server error="accept tcp [::]:80: use of closed network connection" entryPointName=web
2024-06-20T01:47:32Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:145 > Entrypoint closed entryPointName=web
2024-06-20T01:47:32Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:287 > Waiting 10s seconds before killing connections entryPointName=websecure
2024-06-20T01:47:32Z ERR github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:229 > error="accept tcp [::]:443: use of closed network connection" entryPointName=websecure
2024-06-20T01:47:32Z ERR github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:305 > error="close tcp [::]:443: use of closed network connection" entryPointName=websecure
2024-06-20T01:47:32Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:145 > Entrypoint closed entryPointName=websecure
2024-06-20T01:47:32Z INF github.com/traefik/traefik/v3/pkg/server/server.go:76 > Server stopped
2024-06-20T01:47:32Z INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:162 > Shutting down