Caddy 2 can support all 75+ DNS providers

Caddy 2 can work with all of go-acme/lego’s 75+ DNS providers! … with this one, weird trick.

You can use this Caddy 2 module (“dns.providers.lego-deprecated”) to solve ACME DNS challenges. However, because lego’s provider implementations use an old API, their flexibility and performance is somewhat limited. This module is a stopgap until the community ports their DNS providers over to the new libdns interfaces.

Building with the lego-deprecated module

You can easily build Caddy 2 with the lego-deprecated module using xcaddy:

$ xcaddy build --with github.com/caddy-dns/lego-deprecated

That is the easiest way to build Caddy with plugins until our new download page is up.

Then follow the instructions on the lego-deprecated README for using it in either your JSON or Caddyfile configs.

All DNS providers using this shim have to be configured by environment variables. Make sure to read the docs to know which variables to set for your provider.

If you were using DNS providers with v2 already, note that the packages in the caddyserver/tls.dns repository are obsoleted and that repo will disappear soon.

Porting/adding DNS providers to the new API

We need the community’s help to implement DNS providers using the new APIs! Here’s how you can help.

3 Likes