Caddy's open source journey

Interesting article about Caddy and its OSS journey:

Some good stuff with Caddy v2.3.0 release:

Iโ€™ve been using Caddy for years now on a handful of sites using Lets Encrypt for automatic SSL certs โ€“ great stuff. Iโ€™ve had nearly zero problems. Caddy sets a new standard for usability, efficiency, ease of deployment, and reliability โ€“ gone are the days of cryptic config files โ€“ for most sites, a Caddy config is just a few lines. Below is an example from a server where 3 static web sites (generated with tools like Hugo) are served, and a Discourse site is proxied:

        tmpdir.org {
          file_server * {
            root /var/www/tmpdir/website
          }
        }

        yoedistro.org, www.yoedistro.org {
          file_server * {
            root /var/www/yoe/website
          }
        }

        www.simpleiot.org {
          file_server * {
            root /var/www/siot/website
          }
        }

        community.tmpdir.org {
          reverse_proxy localhost:8080
        }

Caddy assumes you want HTTPs by default and automatically gets needed certs โ€“ just make sure your DNS is correct before starting Caddy so it can execute the cert handshake.

Deployment is as easy as copying a single binary to your server, or you can use this Ansible role to automate things a bit.

This is the way software should be!

Interesting feature in upcoming Caddy v2.4.0:

Self-upgrade command. The new caddy upgrade command will replace the current Caddy binary with an upgraded one from our website, with all the same modules installed, including third-party plugins! (We can use this code to add/remove modules later, too.)

This is how software should work โ€“ zero down time and almost zero effort to deploy updates. This reflects a new approach to software โ€“ instead of wrapping old technologies with layers of additional tooling (containers, etc.), lets reduce the need for any of that. Statically linked binaries, embedded assets, embedded databases, and now self managing updates โ€“ this brings sanity back into system administration โ€“ especially for the majority of us who are not Google.