this post was submitted on 21 Dec 2025
11 points (92.3% liked)
Self Hosted - Self-hosting your services.
17071 readers
1 users here now
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules
- No harassment
- crossposts from c/Open Source & c/docker & related may be allowed, depending on context
- Video Promoting is allowed if is within the topic.
- No spamming.
- Stay friendly.
- Follow the lemmy.ml instance rules.
- Tag your post. (Read under)
Important
- Lemmy doesn't have tags yet, so mark it with [Question], [Help], [Project], [Other], [Promoting] or other you may think is appropriate. This is strongly encouraged!
Cross-posting
- !everything_git@lemmy.ml is allowed!
- !docker@lemmy.ml is allowed!
- !portainer@lemmy.ml is allowed!
- !fediverse@lemmy.ml is allowed if topic has to do with selfhosting.
- !selfhosted@lemmy.ml is allowed!
If you see a rule-breaker please DM the mods!
founded 4 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
When Traefik was rewritten, the documentation became a disgusting outdated mess and stayed that way for too long, maybe still is? The configuration needed for doing things right, and doing advanced things, was crazy verbose and clogged up any compose file you used. Same with Kubernetes annotations. As I recall, debugging misbehavior was ulcer inducing due to lack of feedback.
I don’t even remember what pushed me over the edge but it took me probably one evening to rip out traefik and stick caddy in the mix. My compose file shrank by 50%, and the caddy file is a few dozen lines. All of the right behavior is just baseline. No, it’s not as slick as putting an annotation on a container and getting a configuration, but it was never just one annotation in my experience, and caddy is just so much more usable than the alternatives like nginx and even haproxy.
Ah, that's fair. Their documentation is fully up to date now, but imo their example configs suck for beginners.
I will note that anything that can be done in the compose file can be done as a config file instead, with the exception of traefik.enabled=true if you are using a container whitelist instead of a blacklist.
It took me ages to set up, but i now have auto configuration of 95% of containers that need to be reverse proxied, without binding ports (just use the 'expose' option instead of 'ports' in docker compose).
But yes, all the guides and example configs insisting on using container labels instead of the dynamic config files make it feel way more bloated and confusing than needed.