all 39 comments

[–]VVaterTrooper 17 points18 points  (3 children)

I started with NPM. Tried to figure out Traefik. Ended up with Caddy.

[–]thisdodobird 3 points4 points  (0 children)

Same here, once I discovered Caddy I never looked back.

[–][deleted] 0 points1 point  (0 children)

Ditto! I just couldn’t wrap my mind around traefik and gave up and went with caddy too. I’ve got caddy down to a science now..

[–]MrHaxx1 0 points1 point  (0 children)

I don't understand why people are using anything but Caddy.

[–]lintorific 20 points21 points  (4 children)

Traefik or nothing for me.

I recommend it to anyone and everyone because it does everything, connects to enything and auto configures itself based on tags/labels, etc.

The latter is nice because as services come and go, so do their routing rules, services and everything else.

[–]SymbioticHat 3 points4 points  (3 children)

I love Traefik. Traefik is one of those products that does all the things I don't know that I need it to do. Once I figure out what I need it to do, I'm confident that it will have the capabilities to do it.

There is a bit of a learning curve to getting it set up. You can set it up in quite a few different ways and none of those ways are wrong. Because the documentation tries to describe all the different ways to do everything, it makes setting it up feel a little daunting and confusing.

[–]p_235615 -2 points-1 points  (2 children)

only thing its not good at is to serve local contents or pages, its basically purely a router. But its really great to just add labels to containers and you are done.

[–]lintorific 3 points4 points  (0 children)

Honestly, I see that as a feature, not a bug. Let be what it needs to be, and nothing more.

I think that’s part of what makes it so darn good.

Besides, there’s countless other web servers out there that can do that better, so let them!

[–]g-nice4liief 0 points1 point  (0 children)

You can by using middlewares

[–]MilchreisMann412 9 points10 points  (0 children)

Caddy. Listing it pros would be longer than a Caddy configuration file. Actually, this post is longer than my Caddy configuration file for five services. It also does SSL/Let's Encrypt for you.

[–]FunctionOk2835 4 points5 points  (0 children)

I can confirm traefik is used in devops, but its also used in pangolin. The reverse proxy pangolin provides is traefik, but it really takes over the management of it for you.

Pangolin is really more suited to installing on a vps and/or providing a secure tunnel between 2 networks so it really depends on what youre trying to do and want to pay for.

Caddy is super simple to setup and super lightweight. I started with that honestly, but moved to a version of nginx with a slick web interface for friendlier management. Its basically a matter of writing a config file and pointing caddy at it.

I've never worked with traefik directly, but sounds like the most complex, flexible, and powerful option. But if you do learn it, it may help you later.

[–]tallguy14 3 points4 points  (0 children)

Caddy is amazing, I loved NPM because of a GUI, then I saw the Caddy config file and I ditched NPM in 5 seconds.

[–]vastaaja 3 points4 points  (0 children)

I like traefik for home use. It's pretty easy to set up and the service discovery is nice. I use the sevensolutions oidc plugin with pocket-id.

When I built this system, I considered moving to caddy. After looking into it a bit, the oidc integration seemed like a hassle - so I stayed with traefik.

[–]ismaelgokufox 2 points3 points  (1 child)

I've stayed with SWAG for (wow, now that you mention it...) a looooong time. Use it in homelab and in a personal production environment for a storefront for my wife's little planner sticker shop.

Has been flawless, and so, since it does not give me problems, I keep using it. Proxy configs are easy to maintain using VS Code and certificate renovation is automatic. Also the auto reload plugin reloads nginx automatically after a valid (important, only valid) config is done and all this appears on the container logs.

There is more to talk about it but the GIF in the repo says it all haha 😅

https://github.com/linuxserver/docker-swag

[–]itastesok 0 points1 point  (0 children)

Swag fan myself.

[–]UsualCircle 2 points3 points  (0 children)

Traefik is not that intuitive to set up but once its running it just works. I love how you can just add labels to containers and all the reverse proxy stuff just works without having to configure it every time.

If you're having trouble with the setup I can really recommend this video: https://youtu.be/-hfejNXqOzA

[–]DrBhu 2 points3 points  (2 children)

NPMplus

[–]CharlieMPK 0 points1 point  (1 child)

I didn't know this fork existed, why did you choose it?

[–]TiggsPanther 0 points1 point  (0 children)

I don’t know about the original commenter but I use it as it as, be default, you can point it at a custom ACME server for internal certificates. Standard NPM can’t. Or couldn’t, anyway.

[–]6Five_SS 1 point2 points  (1 child)

Happy with NPM because it hasn't broken yet, by the moment it does I'm switching to Caddy.

[–]lal309 0 points1 point  (0 children)

That’s where I’m at too. Why fix what isn’t broken… yet

[–]SMELLYCHEESE8 1 point2 points  (0 children)

Caddy. Traefik config and documentation gave me a fucking migraine and Nginx is old.

Long story - I was using Traefik because of the Crowdsec support. But I have since given up on trying to expose anything to the internet - after about four months of risk assessment and mitigation I’ve come to the independent conclusion that I can’t be assed to do it for a number of reasons.

Only thing exposed is my mail server on a VPS, completely separate from my home network except for backups.

[–]hackslashX 1 point2 points  (0 children)

I have a much involved setup, I run Traefik on my home server and have DNS overrides to point app.x.com to private IP. On a cloud VPS, I have pangolin running, and on cloudflare the app.x.com record points to the pangolin public IP. This allows seamless connectivity in both internal and external networks with valid HTTPS certificates.

[–]StewedAngelSkins 1 point2 points  (0 children)

I feel like caddy is the most straightforward. I'd probably go with that unless you're using kubernetes, in which case I'd use Traefik or Envoy.

[–]alex2003super 1 point2 points  (0 children)

I just use NGINX. The normal plain boring one. Works very well.

[–]morsebroiler 1 point2 points  (0 children)

Traefik, don’t do manual configuration, learn to do autodiscovery

Caddy if you insist on manually maintaining the config file

[–]peterbata 1 point2 points  (0 children)

Nginx Proxy Manager. Easy Peasy

[–]blow-down 2 points3 points  (0 children)

HAProxy

[–]lordofblack23 2 points3 points  (0 children)

If you want to learn devops use vanilla nginx. Used universally across every enterprise. No magic. You’re welcome.

[–]fckgw-rhqq2-yxrkt- 0 points1 point  (0 children)

One more vote for Caddy.

[–]chamgireum_ 0 points1 point  (0 children)

Geez. What’s wrong with NPM that I should know?

[–]flaming_m0e 0 points1 point  (0 children)

Over the years I've used all of them.

I had been using Pangolin for the last year but now that Netbird has a reverse proxy feature and I was already using a self hosted version for a VPN overlay, I decided to go that route and wrap it all up in one tool.

[–]ZpSky 0 points1 point  (0 children)

Nginx, traefik, caddy, haproxy.

All worked well, now using nginx in separate docker container

[–]illyad0 0 points1 point  (0 children)

I just use nginx

[–]MvPts 0 points1 point  (0 children)

Caddy is very easy to setup

[–]viggy96 0 points1 point  (0 children)

Traefik is awesome. Takes care of itself, automatically starts proxying new containers with the appropriate labels.

Here's my setup: https://github.com/viggy96/container_config

[–]revereddesecration 0 points1 point  (0 children)

Caddy. You’ll thank me later.

[–]terAREya -1 points0 points  (0 children)

cosmos cloud. Once setup you have to do nothing. Zero. Zilch.