head to head · open source

nginx-proxy vs cloudflared

nginx-proxy has 19,936 GitHub stars, 3,038 forks, 327 open issues and last shipped 4 days ago. cloudflared has 16,454 stars, 1,521 forks, 545 open issues and last shipped 2 days ago. nginx-proxy leads on adoption by 21% (19,936 vs 16,454 stars). nginx-proxy is written in Python under MIT; cloudflared is written in Go under Apache-2.0. nginx-proxy has attracted 15% as many forks as stars, cloudflared 9%. cloudflared 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.

nginx-proxy ★ 20K cloudflared ★ 16K category Infrastructure & Operations

← all 20902 open source comparisons

Side by side

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

pick nginx-proxy if

  • You weight community size — 20K stars and counting
  • You want the MIT license terms
  • Your stack matches Python
  • You value the larger contributor base for long-term maintenance

full nginx-proxy profile →

pick cloudflared if

  • You want the cloudflared feature set and don't need the biggest community
  • You prefer the Apache-2.0 license terms
  • Your stack matches Go
  • You evaluated both and cloudflared fits your workflow better

full cloudflared profile →

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 →

About cloudflared

Cloudflare Tunnel client Contains the command line client for Cloudflare Tunnel, a tunneling daemon that proxies traffic from the Cloudflare network to your origins. This daemon sits between Cloudflare network and your origin (e.g. a webserver). Cloudflare attracts client requests and sends them to you via this daemon, without requiring you to poke holes on your firewall your origin can remain as closed as possible. Extensive documentation can be found in the Cloudflare Tunnel section of the Cloudflare Docs. All usages related with proxying to your origins are available under cloudflared tunnel help . You can…

read the full cloudflared 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 nginx-proxy or cloudflared more popular?

nginx-proxy has 19,936 GitHub stars and cloudflared has 16,454. nginx-proxy has the larger community by that measure.

Are nginx-proxy and cloudflared free?

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

What is the difference between nginx-proxy and cloudflared?

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

Which should I choose, nginx-proxy or cloudflared?

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