SPB Git
5.8 KB · 49 lines json
1{2  "slug": "caddy",3  "name": "Caddy",4  "aliases": ["Caddy Server", "Caddy 2"],5  "vendor": { "name": "Caddy project (sponsored by ZeroSSL)", "slug": "caddy-project", "website": "https://caddyserver.com" },6  "homepage_url": "https://caddyserver.com/",7  "docs_url": "https://caddyserver.com/docs/",8  "repo_url": "https://github.com/caddyserver/caddy",9  "license_url": "https://github.com/caddyserver/caddy/blob/master/LICENSE",10  "product_type": "application",11  "product_status": "active",12  "summary": "Go web server and reverse proxy that obtains and renews TLS certificates automatically and is configured with a short Caddyfile or a JSON API",13  "description": "Caddy is an open-source web server and reverse proxy written in Go and released under Apache-2.0. Its defining trait is automatic HTTPS: for every host it serves, Caddy requests a certificate through ACME from Let's Encrypt or ZeroSSL, renews it before expiry, redirects HTTP to HTTPS and keeps a sane TLS configuration without the operator touching a cipher list. Internal and wildcard certificates, DNS-challenge plugins and on-demand issuance for arbitrary hostnames are handled in the same way.\n\nConfiguration comes in two forms. The Caddyfile is a compact text format where a site block with a `reverse_proxy` line is enough to publish a local service, and `file_server`, `encode`, `basic_auth` and `handle_path` cover common needs. Underneath, Caddy runs on a JSON configuration that can be loaded and changed at runtime through its admin API, which makes it suitable as a programmable edge for platforms that add and remove routes dynamically. Additional modules, from DNS providers to rate limiting, are compiled in with the xcaddy tool rather than loaded at runtime.\n\nCaddy is widely used in front of applications on single servers and small clusters, where its defaults remove most TLS and proxy boilerplate. Its limitations follow from the design: custom builds are needed for plugins, HTTP/3 support depends on the quic-go stack, and very high-throughput or feature-specific deployments may still prefer NGINX's mature module set. The project is maintained by Matt Holt and sponsored commercially, notably by ZeroSSL.",14  "capabilities": ["Automatic certificate issuance and renewal through ACME (Let's Encrypt, ZeroSSL) including DNS challenges and on-demand TLS", "Reverse proxy with load balancing, health checks, header rewriting and WebSocket passthrough", "Static file serving with compression and directory listings", "Caddyfile text configuration and a JSON configuration loadable through a runtime admin API", "HTTP/1.1, HTTP/2 and HTTP/3 support", "Plugin modules compiled in with xcaddy (DNS providers, auth, rate limiting, Layer 4 proxying)"],15  "workflows": ["Publish a local web application over HTTPS with a three-line Caddyfile", "Act as the TLS-terminating gateway on a tunnel or VPS host and route many domains to backend nodes", "Add and remove routes programmatically through the admin API", "Serve a static site with automatic HTTPS"],16  "advantages": ["HTTPS by default with no certificate tooling to operate", "Short, readable configuration for common cases", "Single static binary written in memory-safe Go", "Runtime-reconfigurable through an API"],17  "limitations": ["Plugins require building a custom binary with xcaddy", "Fewer third-party modules and tuning knobs than NGINX", "Certificate automation needs public DNS and reachable ports or a DNS-provider plugin", "Caddyfile cannot express everything; some setups require the JSON form"],18  "prerequisites": ["A domain whose DNS points at the server (for public certificates)", "Ports 80/443 reachable, or DNS API credentials for the DNS challenge"],19  "audiences": ["Developers self-hosting web applications", "Operators of small server fleets and homelabs", "Platform teams needing a programmable edge"],20  "alternatives": ["nginx", "traefik", "cloudflare-tunnel"],21  "comparison_notes": "NGINX is the long-established reverse proxy with a broad module ecosystem but relies on external tools such as certbot for certificates. Traefik also automates ACME and discovers services from Docker or Kubernetes labels, which suits container-heavy environments better than a hand-written Caddyfile. Cloudflare Tunnel removes the need to expose ports at all by proxying through Cloudflare, at the cost of depending on that network; Caddy keeps TLS termination under the operator's control.",22  "categories": [{ "slug": "reverse-proxies-web-servers", "primary": true }],23  "tags": ["reverse-proxy", "web-server", "tls", "acme", "open-source", "self-hosted", "go", "cli"],24  "use_cases": ["host-web-apps", "expose-local-services", "terminate-tls"],25  "operating_systems": ["linux", "macos", "windows"],26  "execution_modes": ["self-hosted"],27  "interfaces": ["cli", "api"],28  "deployment_models": ["on-premises"],29  "integrations": ["Let's Encrypt", "ZeroSSL", "Docker", "Cloudflare DNS", "Tailscale", "systemd"],30  "data_formats": ["Caddyfile", "JSON"],31  "languages": ["Go"],32  "source_model": "open-source",33  "license_spdx": "Apache-2.0",34  "pricing_model": ["open-source", "free"],35  "self_hostable": true,36  "sources": [37    { "url": "https://caddyserver.com/", "type": "official_site", "title": "Caddy - The Ultimate Server with Automatic HTTPS", "supports": ["name", "summary", "vendor"], "checked_at": "2026-11-02" },38    { "url": "https://caddyserver.com/docs/", "type": "official_docs", "title": "Caddy Documentation", "supports": ["capabilities", "workflows", "data_formats"], "checked_at": "2026-11-02" },39    { "url": "https://github.com/caddyserver/caddy/blob/master/LICENSE", "type": "license_page", "title": "Caddy LICENSE (Apache-2.0)", "supports": ["license_spdx", "source_model"], "checked_at": "2026-11-02" }40  ],41  "confidence": "high",42  "discovery_method": "editorial-research",43  "depth": "deep",44  "editorial_status": "reviewed",45  "visibility": "public",46  "featured": true,47  "author": "batch-B2"48}49
Files · f05ed656dfb02e05e9363ab635689d5774c375f6
Menu

Theme