See this thread for a lot of pointers:
Or if you’re running hass.io then there is caddy plugin in this repo: