Live data from Hacker News

Caddy – The HTTP/2 Web Server with Automatic HTTPS

caddyserver.com

51–60 of 66 posts

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#51
post #36

Earlier quoted context omitted.

Installing Caddy is easy. https://github.com/mholt/caddy#build Init scripts are included as well, both for FreeBSD, macOS and for a several different init systems used by various Linux distros. https://github.com/mholt/caddy/tree/master/dist/init FreeBSD even has it in the ports collection, so you can install it using the package manager that is included with FreeBSD doas pkg install caddy Once installed on FreeBSD w…

(Maybe I should switch to FreeBSD?) Wait I have to manually install Caddy and then fight with systemd to make it start at boot? What is this? The 90? Since they don't have have a standard package repo, you will also always be behind. You will have to keep track of their releases manually to make sure you are not missing an important update. It is unclear why these folks have are resisting standard packages. Is that i…

> Maybe I should switch to FreeBSD?

Depends on how tied you are to Linux, but yes it might be worth it. I for one enjoy FreeBSD a lot. I run it on my servers and on one of my laptops. My desktop runs Linux.

If you have the time and motivation I’d say give FreeBSD a shot. Rent a VPS from Vultr for example or install it in a VM on your computer. Play around with it and see how you like it.

As for packaging of Caddy on Linux there seems to be a few issues if you look at the following thread: https://caddy.community/t/packaging-caddy/61

- The developers dislike packaging because it makes “plugins” unavailable. Personally I think they are concerned about this for no reason. There ought to be a version of Caddy in the package repos without additional “plugins” that covers the 99% use-case which is to serve static files from a directory with automatic Let’s Encrypt certificate retrieval. Just like how the package on FreeBSD does. Those wanting customization can build from source; that is very reasonable and in line with the expectations one should have to an OS-provided package manager IMO.

- They don’t want to deal with packaging until they hit v1.0.

- They are talking about wanting to package an auto-updater. This is absolutely the wrong approach IMO, but it relates back to their differing in opinion about the role of their “plugins” in relation to the packages that would be provided. I think Debian for example have the same view as me on this issue, and I think other distros do as well probably. Packages provided by the OS-provided package manager should never rely on needing to retrieve additional files not included in the package, except via dependency on other packages, or where they are forced to do so for licensing reasons.

- Speaking of Debian, they mentioned that packaging software written in Go can be problematic/difficult in relation to the Debian packaging guidelines because it seems that to follow those guidelines strictly, each dependency must be packaged separately rather than being vendored. Whether this is correct or not I don’t know.

- Like I said further up ITT, the source is covered by Apache 2.0 and they also confirm in that thread that compiling binaries and distributing binaries you’ve compiled from source is allowed in accordance with those terms. That’s really no surprise — if that was not allowed then they couldn’t have said that the source was covered by Apache 2.0 — but it’s reassuring to see that they intentionally want to allow redistribution of binaries built from source.

It seems to me that if packages for Linux are going to become available any time soon, someone needs to step up and take care of it. For example by providing a PPA for Ubuntu users. There was one PPA mentioned in the thread but I didn’t look into whether it is still maintained or not since I do not have any current plans of running Caddy on Ubuntu myself.

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#52
post #36

Earlier quoted context omitted.

(Maybe I should switch to FreeBSD?) Wait I have to manually install Caddy and then fight with systemd to make it start at boot? What is this? The 90? Since they don't have have a standard package repo, you will also always be behind. You will have to keep track of their releases manually to make sure you are not missing an important update. It is unclear why these folks have are resisting standard packages. Is that i…

> Maybe I should switch to FreeBSD? Depends on how tied you are to Linux, but yes it might be worth it. I for one enjoy FreeBSD a lot. I run it on my servers and on one of my laptops. My desktop runs Linux. If you have the time and motivation I’d say give FreeBSD a shot. Rent a VPS from Vultr for example or install it in a VM on your computer. Play around with it and see how you like it. As for packaging of Caddy on…

> The developers dislike packaging because it makes “plugins” unavailable

Maybe the plugin support should be fixed then.

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#53
post #52

Earlier quoted context omitted.

> Maybe I should switch to FreeBSD? Depends on how tied you are to Linux, but yes it might be worth it. I for one enjoy FreeBSD a lot. I run it on my servers and on one of my laptops. My desktop runs Linux. If you have the time and motivation I’d say give FreeBSD a shot. Rent a VPS from Vultr for example or install it in a VM on your computer. Play around with it and see how you like it. As for packaging of Caddy on…

> The developers dislike packaging because it makes “plugins” unavailable Maybe the plugin support should be fixed then.

Unfortunately they have no good way of doing that yet. Or, at least, they didn’t back when most of that discussion took place.

From a comment in the thread:

> Go is currently really bad at “runtime” plugins. There are only three strategies I know of that may work:

> 1. Launch separate processes for each plugin and use ipc to communicate. Potentially slow, and a lot could go wrong.

> 2. Some kind of cgo based plugin system that runs dynamicly linked go libs and uses a cgo shim on both sides for compatibility. Introduces build complexity and makes cross-compiling harder.

> 3. Some kind of dynamic language interpreter: there are native go javascript and lua interpreters, but using those for plugins seems pretty crazy,

> Until the go authors implement better support for runtime plugins, I think we are stuck with built-time.

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#54
post #52

Earlier quoted context omitted.

> Maybe I should switch to FreeBSD? Depends on how tied you are to Linux, but yes it might be worth it. I for one enjoy FreeBSD a lot. I run it on my servers and on one of my laptops. My desktop runs Linux. If you have the time and motivation I’d say give FreeBSD a shot. Rent a VPS from Vultr for example or install it in a VM on your computer. Play around with it and see how you like it. As for packaging of Caddy on…

> The developers dislike packaging because it makes “plugins” unavailable Maybe the plugin support should be fixed then.

This isn't something easily fixed. Go's big selling point (pros and cons included) is that it generates statically compiled binaries. Go plugins are a complicated problem because of that.

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#55
I am immediately suspicious of this because HTTP/2 only operates over HTTPS. So for them to market this webserver as being special because it defaults to HTTP/2 over HTTPS is the sort of thing a snake oil vendor would do.

Also completely unfond of the license. "Caddy is amazing because it has 3 line config files!" So what? That's only appealing to people who are afraid of editing config files. Here's a harsh reality for the developers (who probably won't see this, ah well), but "config files" are not worth $25/mo or whatever the full scale commercial costs of this are. Do the developers think that their target audience are incapable of configuring traditional webservers?

Just because you pour your blood sweat and tears into a thing doesn't mean that thing is worth any money.

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#56

Earlier quoted context omitted.

> I had huge headaches configuring it when migrating php apps with huge htaccess rules to nginx I also had this issue whenever I did migrations between different web applications that used different URL structures. To preserve my sanity, I now do the redirects in the application level. I predict nginx will get a lot of competition from servers and applications written in Ru￸st. Until then, it's viable as a reverse pr…

nginx has a huge headstart though, it's stable, it's fast, has lots of modules, etc. I'm open to competition in the field, I'm not sure the competition will emerge as fast as people think (just like competition for other well-established software bricks in general).

and already supports HTTP/2 and HTTPS.

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#57

I am immediately suspicious of this because HTTP/2 only operates over HTTPS. So for them to market this webserver as being special because it defaults to HTTP/2 over HTTPS is the sort of thing a snake oil vendor would do. Also completely unfond of the license. "Caddy is amazing because it has 3 line config files!" So what? That's only appealing to people who are afraid of editing config files. Here's a harsh reality…

The idea was brilliant before the web changed and made him a bit obsolete.

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#59
post #12
post #6

That's interesting! I wonder how it scales relative to, say, nginx.

It scales fine… if you don’t already know the answer to that question, none of the web servers you choose are the bottle-neck to your site. ;-)

Apache was an unstable bottleneck before I set up nginx as a reverse proxy.

Re: Caddy – The HTTP/2 Web Server with Automatic HTTPS

#60
post #3

Earlier quoted context omitted.

Good to know! As someone who's been called a senior SRE (I hate titles) and has been building platforms for years, it's great to see high quality software enabling new comers like your self to the field. Welcome! :-)

For someone that hates titles, you both managed to call yourself an 'SRE', and drop the fact that you've been 'building platforms for years'. Just sayin'.

I think it's always valid to point out in threads like this that everyone on the internet appears to be a domain expert. Everyone is also an entrepreneur, and anyone who is unemployed is still a consultant. It can make it more difficult to evaluate the merits of a piece of software like Caddy because you have to wade through all the "this is awesome!"s which are somehow considered valid contributions to discussion.
Post reply on HN