services: traefik: image: traefik:latest container_name: traefik restart: always {% if traefik_cert_mode == 'acme' %} environment: RFC2136_NAMESERVER: "{{ traefik_acme_dns_nameserver }}" RFC2136_TSIG_ALGORITHM: "{{ traefik_acme_tsig_algorithm }}" RFC2136_TSIG_KEY: "{{ traefik_acme_tsig_key }}" RFC2136_TSIG_SECRET: "{{ traefik_acme_tsig_secret }}" RFC2136_PROPAGATION_TIMEOUT: "{{ traefik_acme_propagation_timeout }}" RFC2136_POLLING_INTERVAL: "{{ traefik_acme_polling_interval }}" RFC2136_TTL: "{{ traefik_acme_ttl }}" {% endif %} ports: - "80:80" - "443:443" {% if traefik_enable_dashboard and not traefik_dashboard_domain %} - "8080:8080" {% endif %} volumes: - {{ docker_volume_dir }}/traefik.yml:/traefik.yml:ro - {{ docker_volume_dir }}/config:/config:ro {% if traefik_cert_mode == 'acme' %} - {{ docker_volume_dir }}/letsencrypt:/letsencrypt {% endif %} {% if traefik_mode == 'backend' %} - /var/run/docker.sock:/var/run/docker.sock:ro {% endif %} networks: - {{ traefik_network }} networks: {{ traefik_network }}: name: {{ traefik_network }} external: true