Documentation

Caddy Welcomes You

Caddy is a powerful, extensible platform to serve your sites, services, and apps, written in Go. Although most people use it as a web server or proxy, it is an excellent choice for a:

  • web server
  • reverse proxy
  • sidecar proxy
  • load balancer
  • API gateway
  • ingress controller
  • system manager
  • process supervisor
  • task scheduler
  • (any long-running process)

and operates primarily at L4 (transport layer) and L7 (application layer) of the OSI model, though it has the ability to work with other layers.

Configuration is both dynamic and exportable with Caddy's API. Although no config files required, you can still use them; most people's favorite way of configuring Caddy is using the Caddyfile. The format of the config document takes many forms with config adapters, but Caddy's native config language is JSON.

Caddy compiles for all major platforms and has no runtime dependencies.