I've had pretty good experience with caddy, although some key aspects of documentation I found hard to find - namely, how to use it with docker compose and a custom build with other plugins like dns challenge and dynamic dns
Personally, I followed the instructions to install Caddy with Docker Compose in the Nextcloud AIO reverse proxy documentation. Regarding building custom images, there are the instructions to build a custom Caddy image in a Dockerfile in the Docker Hub page.
They both implement the ACME protocol internally, allowing them to integrate with services like Let’s Encrypt to automate regularly obtaining the certificates needed to offer HTTPS.
I did not realise this. Very nice, I'll be trying Caddy on my next server!
My newest vps runs with Caddy. Works like a charm. The downside was, that I didn't think of the automatic certificate deployment when I set everything up and it wouldn't come up a first when I only wanted to connect locally to it, as it tried to get a certificate but the challenge failed because I hadn't the firewall open yet. But besides that it was very smooth so far.