I’ve written a caddy web UI, for now to simply write your Caddyfile in and upload it to Caddy v2 through its API. End user instructions are available here, although it’s still in pre-pre-alpha non-release haha!
The architecture for now is:
The ui server persists a Caddyfile and should act as the source of truth for Caddy.
Caddy persists the autosave.json and should be run with
run --resume such that it reloads the last configuration when it restarts.
I would love to hear some feedback especially on the architecture, or if you have suggestions on next steps to do.
Also, would it be possible to have a
caddy run flag to change the API listening address? I think
localhost:2019 is great when running Caddy out of a container, but a container needs
0.0.0.0:2019 as far as I know. And forcing the user to add that to the global Caddyfile config block before doing anything with the API is not so great