head to head · open source

nginx-proxy vs coredns

nginx-proxy has 19,933 GitHub stars, 3,038 forks, 327 open issues and last shipped 3 days ago. coredns has 14,408 stars, 2,553 forks, 282 open issues and last shipped 2 days ago. nginx-proxy leads on adoption by 38% (19,933 vs 14,408 stars). nginx-proxy is written in Python under MIT; coredns is written in Go under Apache-2.0. nginx-proxy has attracted 15% as many forks as stars, coredns 18%. coredns was the more recently maintained of the two, and both are self-hostable with no licence fee.

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 coredns ★ 14K category Infrastructure & Operations

← all 20902 open source comparisons

Side by side

nginx-proxy coredns
GitHub stars ★ 20K ★ 14K
License MIT Apache-2.0
Written in Python Go
Last push 2026-11-02 2026-11-03
Forks ⑂ 3.0K ⑂ 2.6K
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 coredns if

  • You want the coredns 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 coredns fits your workflow better

full coredns 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 coredns

CoreDNS is a DNS server/forwarder, written in Go, that chains plugins. Each plugin performs a (DNS) function. CoreDNS is a Cloud Native Computing Foundation graduated project. CoreDNS is a fast and flexible DNS server. The key word here is flexible : with CoreDNS you are able to do what you want with your DNS data by utilizing plugins. If some functionality is not provided out of the box you can add it by writing a plugin. CoreDNS can listen for DNS requests coming in over: UDP/TCP (go'old DNS). TLS DoT (RFC 7858). DNS over HTTP/2 DoH (RFC 8484). DNS over HTTP/3 DoH3 DNS over QUIC DoQ (RFC 9250). gRPC (not a…

read the full coredns 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 coredns more popular?

nginx-proxy has 19,933 GitHub stars and coredns has 14,408. nginx-proxy has the larger community by that measure.

Are nginx-proxy and coredns free?

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

What is the difference between nginx-proxy and coredns?

nginx-proxy is written in Python and coredns 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 coredns?

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