home / networking / caddy

Caddy

Official · ZeroSSL
71k

Web server and reverse proxy CLI for running, validating, and reloading Caddy configs with automatic HTTPS.

$brew install caddy
Language
Go
Stars
70,664
Category
Networking
Agent
Ready
Agent Compatibility
JSON Output
Agent Skill
MCP Support
AI Analysis

Caddy is a web server and reverse proxy CLI built around a long-running server process plus commands for adapting, validating, and reloading its native JSON config. It is useful when you want one tool to serve static sites, proxy upstream apps, and manage HTTPS certificates without bolting together separate components.

What It Enables
  • Run local or production web servers, reverse proxies, and static file servers from config files or purpose-built subcommands like file-server and reverse-proxy.
  • Adapt Caddyfiles and other supported config formats into native JSON, validate them before deploy, then reload a running instance through the admin API.
  • Inspect installed modules, export or import storage assets such as certificates, and manage local trust for Caddy's internal CA during HTTPS workflows.
Agent Fit
  • Commands map well to inspect, change, and verify loops: adapt, validate, reload, stop, list-modules, and trust commands are direct subcommands with clear exit behavior.
  • JSON support is useful but narrow: adapt emits native JSON config and list-modules --json gives machine-readable module metadata, while most operational output is still logs and plain text.
  • Best when a project already has Caddy config conventions or deployment scripts; agents become much safer once addresses, cert policy, and admin API access are captured in skills.
Caveats
  • Many actions target a running admin API or privileged ports, so unattended use depends on local permissions, reachable listeners, and careful config review before reloads.
  • Caddy is primarily a server and proxy runtime CLI, not a general service-management surface; most automation value is on hosts where you control the web-serving stack.