Added docker-compose.yml definition for a RevProxy

This commit is contained in:
Leopere 2018-09-30 16:26:25 -04:00
parent 8d7f5556bc
commit 8ce092fc25

View file

@ -0,0 +1,48 @@
version: '3.4'
networks:
traefik:
external: true
services:
#####################
## Proxy container ##
#####################
## One of the major contributing guides here.
## https://www.digitalocean.com/community/tutorials/how-to-use-traefik-as-a-reverse-proxy-for-docker-containers-on-ubuntu-16-04
proxy:
image: traefik:alpine
command: --api --docker --docker.domain=docker.localhost --logLevel=DEBUG
networks:
traefik:
ipv4_address: 10.5.0.100
ports:
- target: 80
published: 80
mode: host
- target: 443
published: 443
mode: host
expose:
- 8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./traefik.toml:/traefik.toml
## This is going to be stored by default in the following host dir in staging.
# There is a rate limit for how many issuances you can request per week.
# Because of this we will store the acme.json file persistently.
# In production we are going to need to figure out how it'll work with Kubernetes or variant.
- ./traefik/:/opt/traefik/
labels:
# https://docs.traefik.io/user-guide/docker-and-lets-encrypt/
- "traefik.backend=proxy"
- "traefik.docker.network=traefik"
## Make sure that you either set the .env variable included in this repository or replace the domain string below.
## Also your DNS record will need to exist pointing at the machine your Traefik Reverse Proxy will be hosted on before you launch this app cluster.
- "traefik.frontend.rule=Host:monitor.${DOMAIN}"
- "traefik.expose=true"
- "traefik.port=8080"
healthcheck:
test: ["CMD", "traefik", "healthcheck"]
timeout: 10s
retries: 3