caddyup is a Rust TUI for managing common Caddyfile server blocks without hand-editing the file.
Run it from the directory that contains your Caddyfile:
cargo runIf no Caddyfile exists in the current directory, caddyup starts with a new managed config and writes ./Caddyfile when you save.
caddyup can install a Caddy binary that already includes the rate-limit module used by generated configs:
caddyup install-caddyThe installer uses Go and xcaddy to build Caddy with github.com/mholt/caddy-ratelimit, then places the resulting caddy binary in a user-writable bin directory. It prefers an existing user-owned directory on PATH and falls back to ~/.local/bin.
To choose the install location explicitly:
caddyup install-caddy --bin-dir ~/.local/binAfter installation, caddyup verifies that the installed Caddy binary exposes http.handlers.rate_limit.
up/downorj/k: move between fieldsleft/rightorh/l: move between serversenterorspace: edit a text field or toggle a boolean fielda: add serverd: delete servers: saveqoresc: quit
caddyup preserves any existing Caddyfile content outside this managed block:
# caddyup:begin
# generated server blocks
# caddyup:endThe first version supports the high-frequency Caddyfile cases: server address, reverse proxy upstream, compression, internal TLS, and app-level rate-limit settings. Use caddyup install-caddy to install a Caddy binary with the needed rate-limit module.