Generated by GPT-5-mini| Caddy (software) | |
|---|---|
| Name | Caddy |
| Developer | Light Code Labs |
| Released | 2015 |
| Programming language | Go |
| Operating system | Cross-platform |
| License | Apache License 2.0 (current), previously MIT (parts) |
Caddy (software) Caddy is a web server and reverse proxy written in Go, known for automated TLS and a modular architecture. It integrates HTTP/2, TLS automation via ACME, and a plugin ecosystem to serve dynamic sites, APIs, and microservices. Caddy is maintained by Light Code Labs and used across infrastructure stacks in cloud, container, and edge deployments.
Caddy emerged in 2015 amid interest in modern web stacks alongside projects like Docker, Kubernetes, Let's Encrypt, Traefik, and NGINX; it aimed to simplify HTTPS provisioning and reverse proxying. The project leverages Go runtime features shared with projects such as Hugo (software), Etcd, Prometheus, Grafana and integrates concepts familiar to users of HAProxy, Envoy (software), Apache HTTP Server and Node.js. Caddy attracted contributions from developers with backgrounds at organizations like Google, Canonical (company), Microsoft, Red Hat, and Amazon (company). Adoption spans use cases in AWS, Google Cloud Platform, Microsoft Azure, and bare-metal deployments on distributions such as Ubuntu, Debian, Fedora, and Alpine Linux.
Caddy features automatic HTTPS via ACME, HTTP/2 and HTTP/3 support, and an extensible plugin system comparable to ecosystems for Varnish, Lighttpd, Squid (software), and BIND (software). It provides reverse proxying, load balancing, static file serving, FastCGI, and WebSocket handling akin to functions in NGINX and Traefik, plus TLS certificate management similar to Certbot and ACME clients. The server includes JSON and native configuration backends for integration with orchestration tools such as Kubernetes, Docker Swarm, HashiCorp Consul, Nomad (software), and Ansible. Observability features permit integration with monitoring systems like Prometheus, Grafana, Datadog, and New Relic.
Caddy's design centers on modular middleware and a plugin registry, echoing patterns from Eclipse, Jetty, Apache Tomcat, and Netty. It is implemented in Go and relies on goroutines and channels, concepts popularized through projects at Google and used in systems like CockroachDB and InfluxDB. The internal architecture separates core request handling, TLS management, and configuration loading, enabling integrations with service meshes like Istio and proxies like Envoy (software). Caddy's file and runtime configuration formats mirror approaches used by systemd, Consul Template, and Vault (software), facilitating declarative infrastructure-as-code workflows with tools from HashiCorp and Puppet (software).
Administrators can configure Caddy using a Caddyfile, JSON API, and environment-driven templates, drawing parallels to configuration methods in NGINX, HAProxy, Traefik, Apache HTTP Server and Microsoft IIS. The JSON API allows programmatic control compatible with orchestration platforms like Kubernetes, Docker, Nomad (software), and continuous delivery pipelines such as Jenkins, GitLab CI, GitHub Actions, and CircleCI. Management concerns—logging, metrics, and tracing—are commonly addressed by integrating with Prometheus, OpenTelemetry, Zipkin, and Jaeger for distributed systems diagnostics. Role-based access and audit trails in enterprise deployments often tie into identity providers like Okta, Auth0, Keycloak, and Azure Active Directory.
Caddy emphasizes secure-by-default operation with automatic certificate issuance through ACME providers like Let's Encrypt and supports modern cipher suites and protocols including TLS 1.3 and QUIC, technologies developed in collaboration across standards bodies like the IETF. Performance characteristics are compared against NGINX, Envoy (software), HAProxy, and Traefik in benchmarks involving HTTP/2, HTTP/3, and TLS handshakes, and Caddy's Go-based runtime affects CPU and memory profiles similar to those observed in Etcd and Prometheus. Security practices around supply chain and code review reference standards from organizations such as Open Web Application Security Project, CISA, ISO/IEC 27001, and OWASP guidelines, while enterprise integration frequently leverages hardware security modules from vendors like Thales Group and Yubico.
Development is led by Light Code Labs with contributions from independent developers, companies, and cloud providers; governance practices resemble meetup and working-group models used by Linux Foundation, Apache Software Foundation, Cloud Native Computing Foundation, and OpenStack. Caddy is released under the Apache License 2.0 for core components, and its ecosystem includes modules with various compatible licenses, mirroring licensing strategies seen in projects such as Kubernetes, Docker, and Terraform. The community communicates via channels similar to those used by GitHub, GitLab, Stack Overflow, Reddit, and Gitter; contributors participate in conferences like KubeCon, DockerCon, FOSDEM, Open Source Summit, and regional meetups. Commercial support and enterprise offerings are provided by Light Code Labs and third-party vendors comparable to service models from Red Hat, Canonical (company), and SUSE.
Category:Web servers