Welp.
We used it in prod for ~18 months or so but the experience was not something we'd repeat.
The configuration of Traefik, in our case, embedded in the docker-compose file was not clear.
What was supposed to be a 'auto-detection' of services ended up looking like a hodge-podge of configs between several files.
The logging was sub-par - we couldn't properly debug issues.
And then we ended up migrating terminating HTTPS on AWS's ELB so the let's encrypt integration became not relevant which catalyzed us going back to nginx.
Gotcha, thanks! I've had similar problems with Traefik and docker compose actually, got it working well once, but then after changing some settings around it wasn't properly proxying to one of my containers anymore and I gave up trying to figure it out and switched to Caddy – since I'm not dynamically scaling services to run across many containers in a cluster or such, I don't think Traefik offers much of an advantage for me personally. I've never really looked back to nginx though, I quite like Caddy's sensible defaults.
The configuration of Traefik, in our case, embedded in the docker-compose file was not clear. What was supposed to be a 'auto-detection' of services ended up looking like a hodge-podge of configs between several files.
The logging was sub-par - we couldn't properly debug issues.
And then we ended up migrating terminating HTTPS on AWS's ELB so the let's encrypt integration became not relevant which catalyzed us going back to nginx.