Caddy GUI for managing CaddyFile - Options / solutions?

I’ve moved from NginxProxyManager to Caddy as there seems to be no interest in fixing the current bugged 2.10.3 version…

To be honest, i love caddy… some of the problems i had with NPM having to add extra code to get certain apps working (like Guacamole, Omada Controller etc) just work…

but what i do miss is a gui to add and remove new entries.

My best bet so far is cockpit with the navigator plugin but when i restart the service, if i’ve broken the CaddyFile then it never comes back up and i have to drop to a shell to see what’s up anyway…

Does anyone have any other options for a gui… maybe with a way to check the config before a service restart?

1 Like

This won’t be the suggestion you want but honestly, just use the logs as your guide. If you’re using compose, start the container without disconnecting to validate everything is working. Or start it disconnected and follow the logs of the container.

Thanks for your reply… it’s not what i was after as i’d like to get a conversation going about how this can actually become a thing… but i think i may be in the minority of people who would actually want it…

I have limited programming skills to make something that would pass muster… but maybe i’ll try and develop something that can interpret a caddyfile well enough to make sense.

1 Like

I haven’t used Caddy in a bit but I believe you can validate a config using the command:

caddy validate --config /path/to/configfile

I recall using this before service restarts myself. Its similar to Nginx -t which tested the Nginx config, which I believe NPM does on the fly as you edit your proxy config.

Are you using the usual Caddyfile config or the json one? Because there are differences to the usage scenarios. Caddyfile → simple usages. When using the JSON you have way more options and possibilities. One you can also configure caddy via it’s admin/configuration port as it has it’s own HTTP API - This allows one to add configuration on the fly without restarting caddy.

This is way easier than interpreting the Caddyfile.

Give it a go

caddy adapt --config /etc/caddy/Caddyfile --adapter caddyfile --pretty

You can experiment and find things which suite your needs

I know I had implemented something back a while for dynamic subdomains, even reverse proxying SSH to HTTPS connections :slight_smile:

So it’s quite powerful if you really need it.

GUI’s abstract a lot of things which you could well build a script yourself.

Good luck

1 Like

Maybe you can try this one. Cosmos
It’s wayyyyy easier than caddy for me.:rofl::rofl::rofl:

1 Like

That’s interesting i’ve not seen that. I’ll give it a look thanks.

I’ll take a look at the APi commands… thanks

Well i’ve never seen cosmos in all my searching but it works great! It’s a seamless as Caddy (no annoying config needed like NPM)… Built in form based authentication for unprotected destinations… DDOS Protection… and it looks amazing!