Come on and fight me…
I just tried out caddy for the first time and found it to be fantastic, I have used both Traefik and Nginx Proxy Manager extensively and although they were both great, the simplicity of the Caddfilr is fantastic. With a few snippets configured, I can add a host with a single line that just defines the port and url, it’s like magic.
Has anyone got any known traps ( or tips) with caddy to make it useful.
The issues I have had previously with Traefik were the need to have multiplelines to configure it (and configure the host and router separately), and the difference between local docker services ( I do like using labels to configure, but with lots of services it gets a bit fragmented and difficult toanahe) and remote services ( had to use the file config).
With NPM, I find using the GUI to configure the servers difficult ( and challenging to keep consistent ) and I had a time that it forgot something ( can’t remember if it was certificates or something else ) and that was the straw that broke the camel’s back for me.
Anyway, currently I am happy with caddy and am not planning on replacing it (at least for a month or two :D ). It would be nice if there was a GUI, but no big drama honestly, and the text config is great.
I’m the weirdo going with haproxy, but that thing is an absolute beast.
Ha, same here. HAProxy plugin running on my opnSense. I should probably try caddy because HAProxy is complete overkill for my requirements.
I have only used 2 reverse proxies, so I can say with confidence that SWAG > all /s
I’ve been using Traefik, Caddy sounds interesting but I’m definitely not touching my setup until it breaks lmao. Then maybe I’ll give it a shot.
Caddy was working fine for me until I scaled my homelab and had around 70 running containers. It constantly gave me 502 upstream errors, I tried all I could to isolate the problem (reducing the number of containers, reducing the number services Caddy handles, reworking Caddyfile), but the timeout still occurs with every service, I searched everywhere and couldn’t find a working solution.
Then I tried out Traefik, set up a dynamic file configuration for all my containers, and haven’t had a single 502 since. The dynamic configuration is such a nice thing to have Im never leaving Traefik. Plus it seems more in line with UNIX philosophy as it is modular with the middlewares and plugins.
You’ve got those carrots in the wrong direction.
Any specific reason you think they should be backwards? I have only limited exposure to the alternatives, but caddy was the easiest for me to set up when I was looking for a reverse proxy.
My main issue with caddy was having to compile in any extensions manually, but you don’t even need to do that anymore.
Eh, personally I just found NPM super easy to set up and manage, especially when it came to setting up letsencrypt etc. Everything just works. Easy to update, easy to manage, easy to take down and spin back up again. My OP had a bit of snark though, I’m not exactly an expert, I’m sure there are very good reasons why the OP and other smart nerds on this community may disagree
Caddy is great, I’ve been using it for all greenfield projects.
P. S. Have you checked out the Caddy API?