I’ve recently been wondering if Lemmy should switch out NGINX for Caddy, while I hadn’t had experience with Caddy it looks like a great & fast alternative, What do you all think?
EDIT: I meant beehaw not Lemmy as a whole
While I can’t speak for others, I’ve found NGINX to have weird issues where sometimes it just dies. And I have to manually restart the systemd service.
The configuration files are verbose, and maybe caddy would have better performance? I hadn’t investigated it much
I’m running a lot of services off my nginx reverse proxy. This is my general setup for each subdomain - each in its own config file. I wouldn’t consider this verbose in any way - and it’s never crashed on me
service.conf
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name [something].0x-ia.moe;
include /etc/nginx/acl_local.conf;
include /etc/nginx/default_settings.conf;
include /etc/nginx/ssl_0x-ia.conf;
location / {
proxy_pass http://[host]:[port]/;
}
}
- there are hidden configs
- this adds up quickly for more complex scenarios
- Yeah, fair enough it is really a preference thing and caddy supports it
The hidden configs are boilerplate which are easily imported for any applicable service. A set-once set of files isn’t what I would count towards being verbose. 90% of my services use the exact same format.
If a certain service is complicated and needs more config in nginx, it’s going to be the same for caddy.
nginx was built for performace, so I doubt caddy would have any significant different in regards to that. I’ve not found config verbosity to be a problem for me, but I guess to each their own. I’m aware I may come across as some gatekeeper - I assure you that is not my intention. It just feels like replacing a perfectly working, battle testing service with another one just because it’s newer is a bit of a waste of resources. Besides - you can do it yourself on your instance. It’s just a load balancer in front of a docker image.
Isn’t caddy battle tested too? And looking into alternatives is not really a waste of resources. It just feels like nginx is not as reliable and likes to drop requests. It’s not just a load balancer, mind you.
http3 is available in nginx 1.25 if you want to run their current release.
no idea, i run 1.24 - i do QUICK termination on CDN either Fastly or Cloudflare