5 ms·
Nginx is a superb piece of software but for me it has largely been superseded by Caddy. I like it for its sane defaults, you get most things working from the ge
by fb03 4y ago
Nginx is a superb piece of software but for me it has largely been superseded by Caddy. I like it for its sane defaults, you get most things working from the get go and a fairly high score on the 'rate your webserver security' checkers.
- folkrav 4y agoI seem to remember Caddy having some features behind a rather restrictive license - or something like that, my memory is failing me - that made me not consider it at all. But it's been a while, easily a handful of years, and looking at it right now, it looks like they changed that. Seems to be all open-source/Apache 2.0 licensed. Am I crazy or did they really change the licensing situation? Cause it definitely looks pretty interesting, looking at current docs. Edit: Found it - they did switch to Apache 2.0, remove all usage restrictions and open-sourced it all https://github.com/caddyserver/caddy/issues/2786 https://github.com/caddyserver/caddy/issues/2786
- ben_jones 4y agoI sympathize a lot with the licensing story of Caddy. /u/mholt has been a very active maintainer and participant in the larger Go community and has every right to create a commercial side to the project and receive compensation for their work. But licensing is hard. AWS abused the leniency of Elasticsearch's original OSS license, so now the industry is set back 10 years with new entrants trying to find the balance between inviting community participation and getting gob smacked by big corporate interests. Im not saying Elastic.co is an angel but its a lesson OSS projects have to take to heart, unfortunately. Thanks Amazon.
- djhaskin987 4y agoI think my favorite reaction to Amazon's aggression is Grafana Labs. They released their code under Affero GPL but let you use a different license if you pay them. Sort of like a new version of the Qt model.
- tsimionescu 4y agoAGPL does nothing to protect commercial projects from AWS. Look at MongoDB: they had been AGPL for a loooong time, but moved to a non-FOSS license specifically because of AWS. AWS has no problems with giving away the code for any managed-X service they. The magic that they charge for is the managed part - deployment, autoscaling, upgrade management, and other Operations stuff that no FOSS license can compel them to make public.
- djhaskin987 4y agoInteresting context, thank you.
- fs111 4y ago> AWS abused the leniency of Elasticsearch's original OSS license, They did not abuse anything. Elastic chose a license that allowed everything AWS did. It is Elastics problem if they don't understand licenses.
- mholt 4y agoTo clarify, the Caddy source code has always been Apache 2.0 licensed, all the way back to 2014-2015.
- folkrav 4y agoHmm, interesting. I really can't remember what the restrictions were then.
- mholt 4y agoFor a time we ran a build service that produced binaries that were commercially licensed if used for business purposes (personal use still free). But that was only with the optional use of our build service. The source code has always been Apache licensed.
- folkrav 4y agoAh! So I guess it was just my junior dev mind that couldn't comprehend the nuances and didn't realize I could just use the open-source version rather than downloading binaries. Thank you for the info, rather curious about trying it out at this point then. I was about to whip out nginx for a server I wanted to setup over the weekend, guess I'll play around with Caddy then!
- jacooper 4y agoFor me personally the problem with Caddy is growth and community guides/resources. Caddyfile is pretty basic, anything advanced doesn't work, and community resources arent even close to Nginx. So I stick with nginx, even though its annoying to handle Let's encrypt auto renew in containers with normal Nginx, since SWAG doesn't support separate certificates per domain.
- francislavoie 4y ago> Caddyfile is pretty basic, anything advanced doesn't work I disagree. I think we're at about 95%-ish of usecases supported by the Caddyfile. We're continually improving on this. It's just a reality of having to maintain a config adapter, when the actual underlying config at runtime is JSON. But it's fine, we make it work :) If you have something specific you find you can't do with the Caddyfile, please open an issue. If you're just not sure, please open a topic on our community forums and we'll help you out.
- Shorel 4y agoThe most complex thing I remember doing with nginx is video streaming using OBS as a source and multiplexing with nginx to YouTube, Facebook and Twitch. How can I do this with Caddy?
- francislavoie 4y agoWell, that's a bit off-topic from the parent comment, which was more about the Caddyfile supporting complex config (versus the underlying JSON config) and not really "complex usecases". But that said, from a quick Google search... was this an RTMP stream? If so, I suppose you'd want to use https://github.com/mholt/caddy-l4 https://github.com/mholt/caddy-l4 which is a plugin for Caddy that lets you do TCP-layer things. Caddy's standard distribution just ships an HTTP server (plus TLS and PKI, etc), which is layer-7 You might be able to use caddy-l4's "tee" handler to pipe into multiple "proxy" handlers. But I'm not sure anyone's tried this yet, I had no idea people did this sort of thing. I'd be interested to hear if it does work though.
- 4y ago
- deleted 4y ago[deleted]
- deleted 4y ago[deleted]