2018-09-30 22:26:25 +02:00
|
|
|
version: '3.4'
|
|
|
|
|
|
|
|
networks:
|
2018-11-05 04:42:35 +01:00
|
|
|
lbrynet:
|
2018-09-30 22:26:25 +02:00
|
|
|
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:
|
2018-11-05 04:42:35 +01:00
|
|
|
lbrynet:
|
2018-10-09 20:33:47 +02:00
|
|
|
ipv4_address: 10.5.1.100
|
2018-09-30 22:26:25 +02:00
|
|
|
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"
|
2018-11-05 04:42:35 +01:00
|
|
|
- "traefik.docker.network=lbrynet"
|
2018-09-30 22:26:25 +02:00
|
|
|
## 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
|