Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/azrikahar/docker-reverse-proxies

Sample usage for various reverse proxies in Docker setups
https://github.com/azrikahar/docker-reverse-proxies

caddy docker docker-compose haproxy nginx-proxy reverse-proxy traefik

Last synced: 2 days ago
JSON representation

Sample usage for various reverse proxies in Docker setups

Lists

README

        



logo

Docker Reverse Proxies



license


netlify badge


visitor badge


license

This repo aims to show examples on how to setup reverse proxy using various reverse proxies available in Docker containers. Since we will setup each reverse proxy to do the exact same thing in every scenario, hopefully it gives a better understanding for someone familiar with one of the reverse proxy but not the other ones.

## Documentation: [dockerreverseproxies.netlify.app](https://dockerreverseproxies.netlify.app/)

## Reverse proxies included

| Reverse Proxy | Official Site | Official Docs | GitHub | Docker Hub |
| ----------------------- | -------------------- | -------------------- | ---------------------------------- | ------------------------------------- |
| **Caddy v2** | [Link][caddy site] | [Link][caddy docs] | [Link][caddy github] | [Link][caddy dockerhub] |
| **HAProxy** | [Link][haproxy site] | [Link][haproxy docs] | [Link][haproxy github] | [Link][haproxy dockerhub] |
| **jwilder/nginx-proxy** | | | [Link][jwilder/nginx-proxy github] | [Link][jwilder/nginx-proxy dockerhub] |
| **Traefik v2** | [Link][traefik site] | [Link][traefik docs] | [Link][traefik github] | [Link][traefik dockerhub] |

[caddy site]: https://caddyserver.com/v2
[caddy docs]: https://caddyserver.com/docs
[caddy github]: https://github.com/caddyserver/caddy
[caddy dockerhub]: https://hub.docker.com/_/caddy
[haproxy site]: https://www.haproxy.org
[haproxy docs]: http://cbonte.github.io/haproxy-dconv
[haproxy github]: https://github.com/haproxy/haproxy
[haproxy dockerhub]: https://hub.docker.com/r/lucaslorentz/caddy-docker-proxy
[jwilder/nginx-proxy github]: https://github.com/nginx-proxy/nginx-proxy
[jwilder/nginx-proxy dockerhub]: https://hub.docker.com/r/jwilder/nginx-proxy
[traefik site]: https://containo.us/traefik
[traefik docs]: https://docs.traefik.io
[traefik github]: https://github.com/containous/traefik
[traefik dockerhub]: https://hub.docker.com/_/traefik

## Scenarios

| Scenario | Summary | Link |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------- |
| **Basic** | Shows the bare minimum of setting up each reverse proxy with HTTP only. They resolve the exact same domain, subdomain and subpath. | [View scenario][docs-basic] |
| **Secure** | Shows how to setup HTTPS and get valid certs from Let's Encrypt (LE). This includes how to get certs from LE's staging server for testing. | [View scenario][docs-secure] |

[docs-basic]: https://dockerreverseproxies.netlify.app/basic
[docs-secure]: https://dockerreverseproxies.netlify.app/secure

## Future plans

- Add **Secure** (HTTPS) scenario. _[ IN PROGRESS ]_
- Add **Load Balancing** scenario.
- Add **Basic Auth** scenario.
- Explore various variations that enhances the vanilla reverse proxies used above:
- **lucaslorentz/caddy-docker-proxy** ( [GitHub](https://github.com/lucaslorentz/caddy-docker-proxy) | [Docker Hub](https://hub.docker.com/r/lucaslorentz/caddy-docker-proxy) ): Basically what jwilder/nginx-proxy is for nginx, but for caddy.
- **jc21/nginx-proxy-manager** ( [GitHub](https://github.com/jc21/nginx-proxy-manager) | [Docker Hub](https://hub.docker.com/r/jc21/nginx-proxy-manager) ): Easy UI based management for Nginx
- Create documentation site. _[ IN PROGRESS ]_
- Possibly a simple checklist/quiz for users to find out which reverse proxies are more suitable for their use case.

## License

[MIT](https://github.com/azrikahar/docker-reverse-proxies/blob/master/LICENSE)