Caddy: the web server that sets up HTTPS for you, no cert renewals ever again (76k stars)
I spent way too many evenings fighting Nginx configs and renewing Let's Encrypt certs by hand. Then I tried Caddy and felt a little silly about all those hours.
HTTPS is automatic. You point a domain at it, start it, and it gets and renews certificates on its own. No cron job. No certbot. Nothing to remember.
The config is the other thing that sold me. A reverse proxy for a local app is literally two lines in the Caddyfile. Static site? Same story. And if you prefer, there's a JSON config and a live admin API so you can change settings without restarting.
It speaks HTTP/1.1, HTTP/2 and HTTP/3 out of the box. And because it's written in Go, you get one static binary with no dependencies. Drop it on a server and go.
There's also a solid plugin system. Rate limiting, DNS providers for wildcard certs, auth layers. You build a custom binary with xcaddy and only include what you need.
Is it perfect? No. If you already have a big, finely tuned Nginx setup, migrating every edge case takes real work. And the plugin model means rebuilding the binary when you add modules. But for new projects or homelabs, it's the easiest way I know to get a proper HTTPS server running.
|Field|Value|
|:-|:-|
|Stars|76,773|
|Forks|5,057|
|Last release|2026-10-03|
|Languages|Go 98.3%, HTML 1.7%|
caddyserver/caddy
538 points · 19 comments
Mentions
@mholt6 @mattiasgeniar I just open issue + PR in Caddy caddy#8334
لاقيت Low severity issue عند السنيورة caddy كانت بتمرر بعض من Hop-by-hop Headers في ردود http من نوع 1xx لل client ونسيت إن عدوك ابن كارك caddy#8256 t.co
Still configuring HTTPS certificates by hand? Caddy is a web server and reverse proxy with automatic HTTPS for supported setups. A handy default for a small site. caddyserver/caddy #HTTPS #WebServer #fo
Caddy gets and renews HTTPS certificates by default, so the "cert expired on a Sunday" outage mostly stops being a thing. A whole reverse proxy config is about three lines. caddyserver/caddy
リバースプロキシかましたときにうまく動くのかって検証をサッと試したくて、Caddy良く使う。 Windowsでもwingetやscoopで簡単にインストールできるので楽。 caddyserver/caddy: Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS caddyserver/caddy
Caddy: the web server that sets up HTTPS for you, no cert renewals ever again (76k stars) I spent way too many evenings fighting Nginx configs and renewing Let's Encrypt certs by hand. Then I tried Caddy and felt a little silly about all those hours. HTTPS is automatic. You point a domain at it, start it, and it gets and renews certificates on its own. No cron job. No certbot. Nothing to remember. The config is the other thing that sold me. A reverse proxy for a local app is literally two lines in the Caddyfile. Static site? Same story. And if you prefer, there's a JSON config and a live admin API so you can change settings without restarting. It speaks HTTP/1.1, HTTP/2 and HTTP/3 out of the box. And because it's written in Go, you get one static binary with no dependencies. Drop it on a server and go. There's also a solid plugin system. Rate limiting, DNS providers for wildcard certs, auth layers. You build a custom binary with xcaddy and only include what you need. Is it perfect? No. If you already have a big, finely tuned Nginx setup, migrating every edge case takes real work. And the plugin model means rebuilding the binary when you add modules. But for new projects or homelabs, it's the easiest way I know to get a proper HTTPS server running. |Field|Value| |:-|:-| |Stars|76,773| |Forks|5,057| |Last release|2026-10-03| |Languages|Go 98.3%, HTML 1.7%| caddyserver/caddy