Repolode
caddyserver

caddyserver/caddy

Caddy is an extensible web server written in Go that serves HTTP/1.1, HTTP/2 and HTTP/3 and enables HTTPS automatically by default.

Open-source alternative to:NGINXApache HTTP Server

Stars
78,198
Forks
5,166
Open issues
293
Last commit
yesterday

What is it?

Caddy is a web server and reverse proxy written in Go. Its main draw is automatic HTTPS: it obtains and renews TLS certificates from ZeroSSL or Let's Encrypt for public names, and runs a managed local CA for internal names and IP addresses, without manual certificate setup.

Configuration can be written in the human-friendly Caddyfile, in native JSON, or in other formats converted through config adapters such as YAML or NGINX syntax. Changes can be applied at runtime through a JSON API. Caddy is built from modules, so functionality can be added through plugins, and it can be compiled with the xcaddy builder.

Caddy runs as a single binary with no external dependencies and supports HTTP/1.1, HTTP/2 and HTTP/3 by default.

Key features

  • 01Automatic HTTPS with certificates from ZeroSSL or Let's Encrypt
  • 02Built-in local CA for internal names and IP addresses
  • 03Caddyfile, native JSON, and JSON API configuration
  • 04Config adapters for YAML, TOML, NGINX and other formats
  • 05HTTP/1.1, HTTP/2 and HTTP/3 enabled by default
  • 06Modular architecture with plugins built via xcaddy

Use cases

  • Serving static sites or web apps with HTTPS handled automatically
  • Reverse proxying requests to backend services
  • Running HTTPS for internal services with a local certificate authority
  • Managing server configuration dynamically through an API

Quick start

  1. 1

    Download Caddy from GitHub Releases and put the executable in your PATH

  2. 2

    Build Caddy with the xcaddy builder

    xcaddy build

Things to know

  • Building from source requires Go 1.26.0 or newer.

Topics

FAQ

What is caddy?
Caddy is an extensible web server written in Go that serves HTTP/1.1, HTTP/2 and HTTP/3 and enables HTTPS automatically by default. Caddy is a web server and reverse proxy written in Go. Its main draw is automatic HTTPS: it obtains and renews TLS certificates from ZeroSSL or Let's Encrypt for public names, and runs a managed local CA for internal names and IP addresses, without manual certificate setup.
Is caddy free to use? What license does it have?
caddy is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is caddy still maintained?
Actively maintained. The last commit to caddy was on Oct 20, 2026.
What can I use caddy for?
Serving static sites or web apps with HTTPS handled automatically Reverse proxying requests to backend services Running HTTPS for internal services with a local certificate authority Managing server configuration dynamically through an API
How do I install caddy?
Download Caddy from GitHub Releases and put the executable in your PATH Build Caddy with the xcaddy builder: xcaddy build
Where can I get caddy?
The source code and installation instructions are on GitHub: https://github.com/caddyserver/caddy

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects