caddyserver/caddy

Description: Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 2 hours ago
Added to GitGenius on June 21st, 2026
Created on January 13th, 2015
Open Issues & Pull Requests: 276 (+0)
Number of forks: 4,834
Total Stargazers: 74,192 (+0)
Total Subscribers: 850 (+0)

Issue Activity (beta)

Open issues: 170
New in 7 days: 6
Closed in 7 days: 2
Avg open age: 544 days
Stale 30+ days: 146
Stale 90+ days: 110

Recent activity

Opened in 7 days: 6
Closed in 7 days: 1
Comments in 7 days: 5
Events in 7 days: 12

Top labels

  • bug :lady_beetle: (135)
  • question :grey_question: (126)
  • feature :gear: (93)
  • discussion :speech_balloon: (66)
  • needs info :mailbox_with_no_mail: (60)
  • help wanted :sos: (45)
  • invalid :question: (36)
  • upstream :arrow_up: (31)

Repository Insights (GitGenius)

Median issue/PR response: 0.6 hours
Mean response time: 4.9 hours
90th percentile: 6.4 hours
Tracked items: 867

Most active contributors

Detailed Description

Caddy is a fast and extensible HTTP/1.1, HTTP/2, and HTTP/3 web server written in Go that prioritizes automatic HTTPS as a core feature. The project is classified as a web server, reverse proxy, and TLS automation platform with capabilities spanning static file serving, load balancing, and security-focused operations. It runs on multiple platforms with no external dependencies beyond the Go runtime itself.

The repository demonstrates strong community engagement with a median issue and pull request response latency of 0.6 hours and a mean of 4.9 hours across 855 tracked items. The most active contributor, mholt, has logged 2162 events, followed by francislavoie with 1120 events and mohammed90 with 530 events. Bug reports represent the most common issue type with 133 tracked instances, followed by questions at 125 and feature requests at 93. The project's contributor base overlaps with major repositories including microsoft/vscode, rust-lang/rust, and microsoft/typescript, indicating its influence within the broader developer ecosystem.

Caddy's defining characteristic is its automatic HTTPS implementation, which uses TLS by default for all connections. The server integrates with ZeroSSL and Let's Encrypt for public domain names while maintaining a fully-managed local certificate authority for internal names and IP addresses. It supports multi-issuer fallback and encrypted ClientHello functionality, designed to remain operational when other servers fail due to TLS, OCSP, or certificate-related issues. The platform has proven production-ready after serving trillions of requests and managing millions of TLS certificates at scale, supporting hundreds of thousands of sites simultaneously.

Configuration flexibility distinguishes Caddy from traditional web servers. While JSON serves as the native configuration language, the system supports multiple formats through config adapters including Caddyfile, JSON5, YAML, TOML, and NGINX configuration syntax. The JSON API enables dynamic configuration changes without server restarts, and the command-line interface accommodates both file-based and API-driven approaches. Nearly all configuration consolidates into a single document rather than scattering across CLI flags, environment variables, and separate files as with competing servers.

The architecture emphasizes extensibility through a modular plugin system. Caddy apps are implemented as Go modules that automatically benefit from automated documentation generation, graceful online configuration updates via API, and integration with other Caddy apps. The two standard apps, tls and http, ship with the core distribution. This design exposes an unprecedented level of control compared to other web servers, allowing users to set actual values of initialized types powering HTTP handlers, TLS handshakes, and storage mechanisms.

The project requires Go 1.25.0 or newer for building from source. Development builds can be created directly, though proper version information embedding requires the xcaddy builder tool. The repository provides straightforward installation through GitHub Releases with cross-platform binary distribution. Documentation is comprehensive and available at caddyserver.com, including getting started guides, quick-start tutorials, and complete API reference material. The platform is described as production-ready and suitable for any long-running Go program, not merely HTTPS serving.

caddy
by
caddyservercaddyserver/caddy

Repository Details

Fetching additional details & charts...