I would agree on using caddy (or traefik) as a web-server, because of a built-in ACME support.
The one thing what doesn't get covered on this topic is how to make multiple users. For what it worth I never needed to mess with htpasswd in my life ever.
Overall it is a good recipe on how to make you own registry, kudos.