head to head · open source

caddy vs nginx-proxy

caddy has 78,660 GitHub stars, 5,232 forks, 286 open issues and last shipped yesterday. nginx-proxy has 19,933 stars, 3,037 forks, 327 open issues and last shipped yesterday. caddy leads on adoption by 295% (78,660 vs 19,933 stars). caddy is written in Go under Apache-2.0; nginx-proxy is written in Python under MIT. caddy has attracted 7% as many forks as stars, nginx-proxy 15%. caddy was the more recently maintained of the two, and both are self-hostable with no licence fee. The two share 1 topic tag (reverse-proxy), so they are genuine substitutes rather than adjacent tools.

Two open source projects, one decision. Both are free and self-hostable — the differences are community size, license terms, language stack and release pace.

caddy ★ 79K nginx-proxy ★ 20K category Infrastructure & Operations

← all 20902 open source comparisons

Side by side

caddy nginx-proxy
GitHub stars ★ 79K ★ 20K
License Apache-2.0 MIT
Written in Go Python
Last push 2026-11-02 2026-11-02
Forks ⑂ 5.2K ⑂ 3.0K
Self-hosting Yes Yes
Data ownership Your server Your server

pick caddy if

  • You weight community size — 79K stars and counting
  • You want the Apache-2.0 license terms
  • Your stack matches Go
  • You value the larger contributor base for long-term maintenance

full caddy profile →

pick nginx-proxy if

  • You want the nginx-proxy feature set and don't need the biggest community
  • You prefer the MIT license terms
  • Your stack matches Python
  • You evaluated both and nginx-proxy fits your workflow better

full nginx-proxy profile →

About caddy

a project Every site on HTTPS Caddy is an extensible server platform that uses TLS by default. Releases · Documentation · Get Help Powered by Special thanks to: Warp, built for coding with multiple AI agents Available for MacOS, Linux, & Windows Menu Features Install Build from source For development With version information and/or plugins Quick start Overview Full documentation Getting help About Features Easy configuration with the Caddyfile Powerful configuration with its native JSON config Dynamic configuration with the JSON API Config adapters if you don't like JSON Automatic HTTPS by default ZeroSSL and…

read the full caddy overview →

About nginx-proxy

nginx proxy nginx proxy sets up a container running nginx and docker gen. docker gen generates reverse proxy configs for nginx and reloads nginx when containers are started and stopped. See Automated Nginx Reverse Proxy for Docker for why you might want to use this. Usage To run it: Then start any containers (here an nginx container) you want proxied with an env var VIRTUAL HOST=subdomain.yourdomain.com Provided your DNS is setup to resolve foo.bar.com to the host running nginx proxy, a request to will then be routed to a container with the VIRTUAL HOST env var set to foo.bar.com (in this case, the your proxied…

read the full nginx-proxy overview →

More in Infrastructure & Operations

Related comparisons

More Networking & Connectivity projects

Compare either of these against the rest of the Networking & Connectivity field.

Frequently asked questions

Is caddy or nginx-proxy more popular?

caddy has 78,660 GitHub stars and nginx-proxy has 19,933. caddy has the larger community by that measure.

Are caddy and nginx-proxy free?

Both are open source. caddy is licensed under Apache-2.0 and nginx-proxy under MIT. Neither carries a licence fee.

What is the difference between caddy and nginx-proxy?

caddy is written in Go and nginx-proxy in Python. The practical differences are community size, licence terms, language stack and release cadence — all compared in the table above.

Which should I choose, caddy or nginx-proxy?

Choose caddy if you want the larger community (78,660 stars) or its Apache-2.0 licence terms. Choose nginx-proxy if its feature set, stack or MIT licence fits better. Both are self-hostable.