Automated Docker Proxy with AutoSSL - Droxy v2.0

A transparent standalone http(s) reverse proxy for Docker containers.

Download

Usage

To run it, just run the downloaded binary as it !

DROXY_HOST Then You need to run any container(s), for examples, we will use the default Nginx container.
DROXY_LETSENCRYPT now open service1.mysite.com which maps to your server ip, you will see the nginx service .

What is DROXY_HOST and DROXY_LETSENCRYPT ?
  • DROXY_HOST tells droxy to route all requests that match DROXY_HOST to this container.
  • DROXY_LETSENCRYPT tells droxy to enable auto ssl based on Let'sEncrypt for this container and that hostname.

Features

  • No Dependencies, just a small single binary !
  • Watches docker in realtime and add/remove containers from our own internal service discovery .
  • Automatically generate and renew SSL Certs for created containers .
  • Single and Multiple Hosts allowed for both DROXY_HOST and DROXY_LETSENCRYPT
  • You can specifiy whether to use http or https when connecting with the backend DROXY_HOST=host1.com,https://host2.com.
  • You can choose the backend port (docker private port) to be used for each hostname DROXY_HOST=host1.com,host2.com:8080
  • You can run multiple containers with the same hostname and droxy will use roundrobin to distribute the traffic between them.
  • You can use wildcards with hostnames for both DROXY_HOST and DROXY_LETSENCRYPT.
  • It caches Let'sEncrypt certs in the current working directory under ./droxy-certs/, you can change when starting as following ./droxy --certs-dir=/path/to/custom/dir.
  • You can change the default listening ports for both 80 and 443 ./droxy --http=:8080 --https=:44303

Installing From Source

$ go get -u github.com/alash3al/droxy
$ go install github.com/alash3al/droxy
$ droxy --help