version: "3.3"

services:

  # The reverse-proxy only does SSL termination and automatic certificate generation. You can
  # replace it with any other reverse-proxy, in which case you can remove 'traefik.*' labels.
  reverse-proxy:
    image: traefik:v1.7
    network_mode: "host"
    command:
      - "--docker"                                # Tells Træfik to listen to docker
      - "--acme.email=${TRAEFIK_ACME_EMAIL}"      # Let's Encrypt ACME email
      - "--acme.domains=${TRAEFIK_ACME_DOMAINS}"  # Let's Encrypt ACME domain list
    ports:
      - "80:80"    # serving HTTP
      - "443:443"  # serving HTTPS
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock # So that Træfik can listen to the Docker events
      - ./docker-volume/traefik/acme.json:/etc/acme.json
      - ./docker-volume/traefik/traefik.toml:/traefik.toml
    restart: "always"

  webserver:
    labels:
      traefik.enable: "true"
      traefik.frontend.rule: "Host:${PEERTUBE_WEBSERVER_HOSTNAME}"
      traefik.port: "80"
