services:
  runtipi-reverse-proxy:
    ports:
      - 8080:8080
    command: 
      - '--providers.docker'
      - '--providers.file.directory=/etc/traefik/dynamic'
      - '--certificatesresolvers.myresolver.acme.email=${ACME_EMAIL}'
      - '--certificatesresolvers.myresolver.acme.storage=/shared/acme.json'
      - '--certificatesresolvers.myresolver.acme.dnschallenge.provider=cloudflare'
      - "--certificatesresolvers.myresolver.acme.dnschallenge.resolvers=1.1.1.1:53,1.0.0.1:53"
      - '--log.level=INFO'
    environment:
      CF_API_EMAIL: "${ACME_EMAIL:?}"
      CF_DNS_API_TOKEN: "${CF_DNS_API_TOKEN:?}"
    networks:
    - tipi_main_network
    - tipi_internal_network
    volumes:
    - type: bind
      source: ./traefik/shared
      target: /shared
      read_only: false
    - type: bind
      source: ./traefik
      target: /etc/traefik
      read_only: false
    - type: bind
      source: ./user-config/_traefik/dynamic/      
      target: /etc/traefik/dynamic/
      read_only: true
    - type: bind
      source: ./user-config/_traefik/traefik.yml
      target: /etc/traefik/traefik.yml
      read_only: true

networks:
  tipi_internal_network:
    internal: true
    attachable: true
    name: runtipi_internal_network