Caddy web UI discussion

Hello all.

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:

Caddy frontend web app (Reactjs+Typescript) <-> UI HTTP server (Go) <-> Caddy API

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 :wink:

Thanks!

1 Like

Bit of a workaround, just put a file caddy.json in the container with the contents {"admin":{"listen":"0.0.0.0:2019"}} and you can specify --config config.json in the run command.

That’s not a bad suggestion though, a way to override the default admin endpoint without making an extra file would be good.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.