Hello, I am new to Traefik and am moving from Nginx Proxy Manager (Struggling to get Authentik to work with NPM). I am using the file provider to reverse proxy to all my services (see context section for why). I currently have a separate dynamic.yaml file for each of my different services (eg. proxmox.yaml , nextcloud.yaml). This all works great till I reach 25 http routers/http services, then Traefik seems to just stop reading any of them. I also tried to list all of these services in one dynamic.yaml file but have the issue of it all working as expected till I hit 25 routers/services. Is there a limit put on the number of routers or services you can have using the file provider? Is there another method to get around this issue? I have roughly 40 services I want to expose to the internet using Traefik with almost all of them being docker containers. However most of these docker containers are on different LXC hosts (see context section for why) so I am unaware of a way to make the docker provider jump across hosts to use docker labels. I am defiantly not well practiced with docker networking but plan to experiment with docker swarm soon. Has anyone ran into a similar issue with the file provider and if so any idea on what I can do to fix this? Thanks!
Context:
Docker Compose:
services:
traefik:
image: docker.io/library/traefik:latest
container_name: traefik
ports:
- 80:80
- 443:443
- 8080:8080
environment:
- CF_DNS_API_TOKEN=blah blah blah
volumes:
- /run/docker.sock:/run/docker.sock:ro
- /docker/traefik/config/traefik.yaml:/etc/traefik/traefik.yaml:ro
# - /docker/traefik/config/:/etc/traefik/
- /docker/traefik/config/conf.d/:/etc/traefik/conf.d/
- ./data/certs/:/var/traefik/certs/:rw
networks:
- frontend
restart: unless-stopped
networks:
frontend:
external: true
Traefik.yaml (static config)
global:
checkNewVersion: false
sendAnonymousUsage: false
log:
level: DEBUG
format: common
filePath: /var/log/traefik/traefik.log
# -- (Optional) Enable accesslog and change format here ...
# - format: [common, json]
# accesslog:
# format: common
# filePath: /var/log/traefik/access.log
api:
dashboard: true
disableDashboardAd: true
insecure: true
# -- Change EntryPoints here...
entryPoints:
web:
address: :80
# -- (Optional) Redirect all HTTP to HTTPS
# http:
# redirections:
# entryPoint:
# to: websecure
# scheme: https
websecure:
address: :443
# -- Configure your CertificateResolver here...
certificatesResolvers:
cloudflare:
acme:
email: blah blah blah
storage: /var/traefik/certs/cloudflare-acme.json
caServer: "https://acme-v02.api.letsencrypt.org/directory"
keyType: EC256
dnsChallenge:
provider: cloudflare
resolvers:
- "1.1.1.1:53"
- "8.8.8.8:53"
# -- (Optional) Disable TLS Cert verification check
# serversTransport:
# insecureSkipVerify: true
providers:
file:
directory: /etc/traefik/conf.d
watch: true
Example dynamic config (nextcloud.yaml) (reminder I have 28 of these currently)
http:
routers:
nextcloud:
service: Nextcloud
rule: "Host(`nc.example.blah`)"
tls:
certResolver: cloudflare
services:
Nextcloud:
loadBalancer:
servers:
- url: "http://192.168.77.25:11000"
traefik.log file after running docker compose up -d
/ # cat /var/log/traefik/traefik.log
2024-10-30T17:36:06Z INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:103 > Traefik version 3.2.0 built on 2024-10-28T14:49:00Z version=3.2.0
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/cmd/traefik/traefik.go:110 > Static configuration loaded [json] staticConfiguration={"api":{"dashboard":true,"disableDashboardAd":true,"insecure":true},"certificatesResolvers":{"cloudflare":{"acme":{"caServer":"https://acme-v02.api.letsencrypt.org/directory","certificatesDuration":2160,"dnsChallenge":{"provider":"cloudflare","resolvers":["1.1.1.1:53","8.8.8.8:53"]},"email":"blah@blah.blah","keyType":"EC256","storage":"/var/traefik/certs/cloudflare-acme.json"}}},"entryPoints":{"traefik":{"address":":8080","forwardedHeaders":{},"http":{"maxHeaderBytes":1048576},"http2":{"maxConcurrentStreams":250},"transport":{"lifeCycle":{"graceTimeOut":"10s"},"respondingTimeouts":{"idleTimeout":"3m0s","readTimeout":"1m0s"}},"udp":{"timeout":"3s"}},"web":{"address":":80","forwardedHeaders":{},"http":{"maxHeaderBytes":1048576},"http2":{"maxConcurrentStreams":250},"transport":{"lifeCycle":{"graceTimeOut":"10s"},"respondingTimeouts":{"idleTimeout":"3m0s","readTimeout":"1m0s"}},"udp":{"timeout":"3s"}},"websecure":{"address":":443","forwardedHeaders":{},"http":{"maxHeaderBytes":1048576},"http2":{"maxConcurrentStreams":250},"transport":{"lifeCycle":{"graceTimeOut":"10s"},"respondingTimeouts":{"idleTimeout":"3m0s","readTimeout":"1m0s"}},"udp":{"timeout":"3s"}}},"global":{},"log":{"filePath":"/var/log/traefik/traefik.log","format":"common","level":"DEBUG"},"providers":{"file":{"directory":"/etc/traefik/conf.d","watch":true},"providersThrottleDuration":"2s"},"serversTransport":{"maxIdleConnsPerHost":200},"tcpServersTransport":{"dialKeepAlive":"15s","dialTimeout":"30s"}}
2024-10-30T17:36:06Z INF github.com/traefik/traefik/v3/cmd/traefik/traefik.go:626 >
Stats collection is disabled.
Help us improve Traefik by turning this feature on :)
More details on: https://doc.traefik.io/traefik/contributing/data-collection/
2024-10-30T17:36:06Z INF github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:73 > Starting provider aggregator aggregator.ProviderAggregator
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:231 > Starting TCP Server entryPointName=traefik
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:231 > Starting TCP Server entryPointName=websecure
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/server/server_entrypoint_tcp.go:231 > Starting TCP Server entryPointName=web
2024-10-30T17:36:06Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *file.Provider
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *file.Provider provider configuration config={"directory":"/etc/traefik/conf.d","watch":true}
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/affine.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/audiobookshelf.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/authentik.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/checkmk.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/emulatorjs.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/filebrowser.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/frigate.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/gotify.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/guacamole.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/homeassistant.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/homepage.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/invoiceninja.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/jellyfin.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/mealie.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/nextcloud.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/onlyoffice.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/openaudible.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/openwebui.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/paperlessngx.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/pihole.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/proxmoxbackup.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/stirlingpdf.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/swarmui.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/truenas.yaml
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/file/file.go:122 > add watcher on: /etc/traefik/conf.d/unifiinform.yaml
2024-10-30T17:36:06Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *traefik.Provider
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *traefik.Provider provider configuration config={}
2024-10-30T17:36:06Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *acme.ChallengeTLSALPN
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *acme.ChallengeTLSALPN provider configuration config={}
2024-10-30T17:36:06Z INF github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:202 > Starting provider *acme.Provider
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/aggregator/aggregator.go:203 > *acme.Provider provider configuration config={"HTTPChallengeProvider":{},"ResolverName":"cloudflare","TLSChallengeProvider":{},"caServer":"https://acme-v02.api.letsencrypt.org/directory","certificatesDuration":2160,"dnsChallenge":{"provider":"cloudflare","resolvers":["1.1.1.1:53","8.8.8.8:53"]},"email":"blah@blah.blah","keyType":"EC256","storage":"/var/traefik/certs/cloudflare-acme.json","store":{}}
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:221 > Attempt to renew certificates "720h0m0s" before expiry and check every "24h0m0s" acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=cloudflare.acme
2024-10-30T17:36:06Z INF github.com/traefik/traefik/v3/pkg/provider/acme/provider.go:859 > Testing certificate renew... acmeCA=https://acme-v02.api.letsencrypt.org/directory providerName=cloudflare.acme
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{"middlewares":{"dashboard_redirect":{"redirectRegex":{"permanent":true,"regex":"^(http:\\/\\/(\\[[\\w:.]+\\]|[\\w\\._-]+)(:\\d+)?)\\/$","replacement":"${1}/dashboard/"}},"dashboard_stripprefix":{"stripPrefix":{"prefixes":["/dashboard/","/dashboard"]}}},"routers":{"api":{"entryPoints":["traefik"],"priority":9223372036854775806,"rule":"PathPrefix(`/api`)","ruleSyntax":"v3","service":"api@internal"},"dashboard":{"entryPoints":["traefik"],"middlewares":["dashboard_redirect@internal","dashboard_stripprefix@internal"],"priority":9223372036854775805,"rule":"PathPrefix(`/`)","ruleSyntax":"v3","service":"dashboard@internal"}},"serversTransports":{"default":{"maxIdleConnsPerHost":200}},"services":{"api":{},"dashboard":{},"noop":{}}},"tcp":{"serversTransports":{"default":{"dialKeepAlive":"15s","dialTimeout":"30s"}}},"tls":{},"udp":{}} providerName=internal
2024-10-30T17:36:06Z DBG github.com/traefik/traefik/v3/pkg/server/configurationwatcher.go:227 > Configuration received config={"http":{},"tcp":{},"tls":{},"udp":{}} providerName=cloudflare.acme
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/stripprefix/strip_prefix.go:32 > Creating middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:17 > Creating middleware entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:18 > Setting up redirection from ^(http:\/\/(\[[\w:.]+\]|[\w\._-]+)(:\d+)?)\/$ to ${1}/dashboard/ entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_redirect@internal routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25 > Creating middleware entryPointName=traefik middlewareName=traefik-internal-recovery middlewareType=Recovery
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) dash.blah.net
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) aiui.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) art.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) meal.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) docs.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) gotify.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) ral.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) frigate.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) portar.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) paperless.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) openaudible.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) pbs.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) nc.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) remote.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) affine.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) invoice.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) jelly.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) porthp.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) home.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) book.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) filebrowser.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) kasm.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) nas.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) emulator.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) photo.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) search.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) prox.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) inform.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) readeck.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) unifi.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) auth.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) dns.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) pdf.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) check.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/certificate.go:131 > Adding certificate for domain(s) guac.blah.blah
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:228 > Serving default certificate for request: "inform.blah.blah"
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/tls/tlsmanager.go:321 > No default certificate, fallback to the internal generated certificate tlsStoreName=default
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/stripprefix/strip_prefix.go:32 > Creating middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal middlewareType=StripPrefix routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_stripprefix@internal routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:17 > Creating middleware entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/redirect/redirect_regex.go:18 > Setting up redirection from ^(http:\/\/(\[[\w:.]+\]|[\w\._-]+)(:\d+)?)\/$ to ${1}/dashboard/ entryPointName=traefik middlewareName=dashboard_redirect@internal middlewareType=RedirectRegex routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/observability/middleware.go:33 > Adding tracing to middleware entryPointName=traefik middlewareName=dashboard_redirect@internal routerName=dashboard@internal
2024-10-30T17:36:07Z DBG github.com/traefik/traefik/v3/pkg/middlewares/recovery/recovery.go:25 > Creating middleware entryPointName=traefik middlewareName=traefik-internal-recovery middlewareType=Recovery
Folder Structure:
/docker/traefik
>docker-compose.yaml
>/data/
>/config/
>traefik.yaml
>/conf.d/
>authentik.yaml
>nextcloud.yaml
>proxmox.yaml
>ect ect.yaml
All of this is on Proxmox with most of the hosts being lxc containers (including Traefik itself). This is setup similar to dbtech on Youtube sets his proxmox/docker containers up and for the same reason (I screw things up and love proxmox's backup and restore).
Thank you for taking the time to read this and hope there is an easy solution!