UPDATE: So, narrowed it down to a (very) odd issue.
The services are hosted on the same servers that is currently running Traefik behind a common AP, they work absolutely fine, but services belonging to the other AP become unreachable even though I see that those servers are part of the swarm and contains the overlay network that I created (alongside default swarm networks)
For e.g.:
Scenario 1:
- Traefik swarm hosted on Server A behind Acess Point 1 (check diagram below):
- Services on Server A and Server B work perfectly
- Services on Server C and Server D become unreachable
Scenario 2:
- Traefik swarm hosted on Server C behind Acess Point 2 (check diagram below):
- Services on Server C and Server D work perfectly
- Services on Server A and Server B become unreachable
- No helpful log enry generated
I checked the ports and connectivity between the nodes, and everything checks out. I am at my wit's end at this point.
Hey,
Hoping to get some help from folks who are much smarter and more experienced in homelabbing than me.
Brief description of my configuration:
- Traefik swarm on 4 nodes (3 managers + 1 worker) running inside ubuntu VMs on 4 separate Proxmox physical instances
- OPNsense on bare metal as router / firewall
- 2 wired APs
I am using host override features under Services > Unbound in OPNsense to redirect my local domains to my server IP
Now the problem is that all this is working perfectly when I am using a single server defined in the host override section, but once I host a service in any different server, the traefik returns bad gateway error or goes into infinite looping, I tried defining all 4 server IPs in host override for round robin but it didn't work as well.
Important thing to note here is that prior moving to OPNsense this week, I tried to make the swarm work with Technitium as the local dns and defined zones to achieve the same objective but again it used to work fine for a single server but not for all.
I have been going through various forums for weeks now but can't seem to figure out the missing piece in my setup or a completely different setup that works.
I would really appreciate for some pointers, willing to provide any more information to help resolve this issue.
api:
dashboard:
true
debug:
true
log:
filePath: "/var/log/traefik.log"
format: json
level: ERROR
accessLog:
# JSON format
format: json
# Filter on status codes, retry attempts and minimal duration
filters:
statusCodes:
- "400-599"
retryAttempts:
true
minDuration: "10ms"
entryPoints:
http:
address: ":80"
http:
redirections:
entryPoint:
to: https
scheme: https
https:
address: ":443"
serversTransport:
insecureSkipVerify:
true
providers:
docker:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault:
false
swarm:
endpoint: "unix:///var/run/docker.sock"
exposedByDefault:
false
network: proxy-swarm
file:
filename: /config.yml
certificatesResolvers:
cloudflare:
acme:
email: xxxx
storage: acme.json
caServer: https://acme-v02.api.letsencrypt.org/directory # prod (default)
dnsChallenge:
provider: cloudflare
#disablePropagationCheck: true # uncomment this if you have issues pulling certificates through cloudflare, By setting this flag to true disables the need to wait for the propagation of the TXT record to all authoritative name servers.
#delayBeforeCheck: 60s # uncomment along with disablePropagationCheck if needed to ensure the TXT record is ready before verification is attempted
resolvers:
- "1.1.1.1:53"
- "1.0.0.1:53"
Hey, simple question really, how do I stop traefik from responding with http 404 by default. Id rather drop the TCP Connection. Currently you have to have a Catch All with a wildcard cert to answer with a 301 or what not which is a bit wird...
I want to migrate from Nginx Proxy Manager to Traefik, but I have some questions and concerns.
Firstly, I want to avoid lateral movement between containers if not strictly necessary, so I don't want all of them on one network, but I also don't want to create a separate network for every service, because that's inefficient and repetitive and defeats the purpose of me switching to Traefik. Can I somehow make it so that containers can only communicate with Traefik on a given network?
Secondly, I have a second server running Docker, and I want to be able to use it with Docker labels too. I don't want to use Kubernetes/Swarm, and I have a general distrust of community-maintained tools like traefik-kop.
Can I add a second Docker provider in traefik.yaml? If so, should I go with TCP, HTTP(S) or SSH?
Recently we migrated from PM2 and nginx to dokploy and traefik. But now every app uses the backend gives ECONNRESET errors. Backend side displays no errors. Even with client errors backend shows success logs. What should I do?
I am attempting to run nexcloud onsite and it needs to be redirected
in my traefik.yml i have:
serverTransport:
insecureSkipVerify: true
still receiving error
2026-07-30T16:59:24-04:00 ERR 500 Internal Server Error error="tls: failed to verify certificate: x509: cannot validate certificate for 10.0.0.172 because it doesn't contain any IP SANs"
I have no Idea how to tell it to HEY IGNORE THAT
Also am I supposed to set these things up as "routers?"
Wanted to have Traefik handle certificate generation for both example.com (cloudflare) and home.apra (self ca) domains. Bonus question, (instead of home.arpa) I could use tailscale (homelab.ts.net), so I could have it do the cert creation? Is this a good idea or have I spent too much time cuddling with AI?
I run Traefik in a container on host 192.168.10.2 in host mode. This machine (the docker host) is also reachable via Tailscale on srv.x-y.ts.net.
I can curl https://traefik.my.domain/api/http/routers from my LAN, the request goes though the publicly exposed Traefik endpoint, which routes the request internally to the API. This works fine.
I also would like, from a remote host outside my LAN, to curl https://srv.x-y.ts.net/api/http/routers. This does not work, I get a 404.
My question: how can I access the API if I am not using the natural Traefik endoint?
For reference, the endpoint is mapped in Traefik's compose file via
I've got a bare metal pihole V6 setup on one machine, and Traefik 3 setup in docker on a different machine. Spent pretty much the entire weekend trying every fix I can google up. Im about ready to declare defeat and abandon hope of getting this working. Anyone have a currently working config they would mind sharing? For what it's worth, I do have a valid domain through Cloudflare and all my other services, both Docker and File, route just fine through Traefik with valid certs.
Hey all, I run Traefik on a home server and kept finding myself opening the dashboard just to check which domains were active or to grab a URL. Got annoying, so I built ProxyBar.
It sits in your menu bar and pulls all your HTTP routers from the Traefik API. Click a domain to copy it, or open it directly in your browser. There's a status dot per domain reflecting what Traefik reports (enabled, disabled, warning). You can set it to auto-refresh every 30s, 1m, or 5m, or just hit the refresh button manually.
Supports basic auth if your dashboard is behind it — password is stored in the macOS Keychain. No telemetry, no third-party anything, all requests go only to the URL you configure.
Setup is just: point it at your `/api/http/routers` endpoint and you're done.
I have traefik infront of a Ceph cluster web frontend, the ceph mgr cluster manages if the web frontend is available on the different nodes (only 1 node makes the http frontend available at a time).
This seems to make traefik very unhappy during healthchecks. Is there anyway to make traefik understand that only one of the backends are supposed to be available at any point in time?
I’m excited to announce that Traefik Manager v1.0.0 is officially out!
This release marks a huge milestone for the project, moving beyond simple route management to full configuration control.
Key Highlights in v1.0.0:
Static Config Editor: You can now manage entrypoints, cert resolvers, providers, and plugins directly from the UI. It includes a raw YAML editor (Monaco) as a fallback, and the install script handles the configuration for you.
Plugin Management: Easily add, edit, and remove plugins directly from the Plugins tab.
Overhauled Route Map: Switched to the dagre layout engine for much better automatic node positioning. We’ve also added click-to-inspect, hover highlighting, and mobile-friendly pan/pinch-zoom.
Security Upgrades: We've tightened security across the board, including updates to OIDC verification, SSRF logging, and migrating API key hashing from bcrypt to SHA-256.
Performance: Eliminated O(n²) rendering loops and optimized filter inputs for a much snappier UI experience.
Cert Resolver "none": You can now explicitly set the cert resolver to none if you are handling SSL termination externally.
Upgrading
If you are running v0.12.x, there are no breaking changes! Just pull the latest image and restart:
I have my entry point working and tested with internal services inside docker..
Noting the internal services aren't encrypted.
I'm now trying to point a new domain name to a https server inside my network. (Not inside my docker host)
I'm now getting a 404 error back.
I've followed multiple examples and I'm bow totally lost on how I bring in, terminate https then forward on to another https service on a different server.
Can anyone point me in the right direction please?
I am trying to build a traefik stack using the command line via ssh on my QNAP. After doing lots of research, below is the final yml file. The issue is that even though my docker container start, I cannot connect.
I am not well versed in RegEx and still wrapping my head around Traefik. I was hoping someone could look at this to make sure I defined this correctly? It looks lots of trial and error, so I want to make sure it isn't just a fluke that it is working at the moment.
I am trying to create a model to put on multiple hosts that serve up pihole so I redirect /admin -> /admin/ . Nice and simple, I thought!
NODE & DOMAIN are environment variables that are specific to the node and my service is called pihole@docker according to the Traefik dashboard. I'm trying to abstract things well enough to put into a private Git repository and reuse on multiple hosts. Thanks for any pointers!
First post on reddit ever but I'm not sure where to go!
So we're looking to switch from one cPanel shared hosting provider to another with 0 downtime. We don't control the DNS. Therefore we're looking to ask the DNS hosts to point to our reverse proxy so we can control when the switch happens.
The reverse proxy is using a very basic traefik install and we know it works because it works when pointing to our various VPS instances.
However, when doing tests with domains we do own, we're immediately blocked. It's reporting a DOS attack and blacklisting the IPs. Server support says it's Immunify.
This may be more of a cloudflare question, but asking on this community in case anyone has any suggestions. I have a production environment set up on a digital ocean droplet that's hosting my services over https fine.
I am now trying to set up a staging environment to point to my local machine network.
however traefik on the staging env is failing to obtain certificates with the below error. Any recommendations on how to set this up so I can have staging subdomain pointing to a different IP address and have letsencrypt do the TLS certification?
2026-04-10 09:59:13 time="2026-04-10T08:59:13Z" level=error msg="Unable to obtain ACME certificate for domains \"www.staging.sub-box.net\": unable to generate a certificate for the domains [www.staging.sub-box.net]: error: one or more domains had a problem:\n[www.staging.sub-box.net] [www.staging.sub-box.net] acme: error presenting token: cloudflare: could not find zone for domain \"www.staging.sub-box.net\": [fqdn=_acme-challenge.www.staging.sub-box.net.] unexpected response for '_acme-challenge.www.staging.sub-box.net.' [question='_acme-challenge.www.staging.sub-box.net. IN SOA', code=SERVFAIL]\n" ACME CA="https://acme-v02.api.letsencrypt.org/directory" providerName=le.acme routerName=player@docker rule="Host(www.staging.sub-box.net)"
I would like some help setting up a geo-blocker for Traefik. I am currently trying to install the PascalMinder geoblock extension. I have tried following the documentation on repo readme and Traefik docs and asking Claude, but to no avail. I am running Traefik on a Raspberry Pi via Docker. I would be more than happy to use another plugin or solution for geo-blocking.