2025-12-27 14:13:15 +01:00
|
|
|
# Traefik Reverse Proxy
|
|
|
|
|
# Managed by Ansible - do not edit manually
|
|
|
|
|
|
|
|
|
|
services:
|
|
|
|
|
traefik:
|
|
|
|
|
image: traefik:{{ traefik_version }}
|
|
|
|
|
container_name: traefik
|
|
|
|
|
restart: unless-stopped
|
2026-01-05 16:40:37 +01:00
|
|
|
environment:
|
|
|
|
|
# Fix Docker API version compatibility - use 1.44 for modern Docker
|
|
|
|
|
- DOCKER_API_VERSION=1.44
|
2025-12-27 14:13:15 +01:00
|
|
|
security_opt:
|
|
|
|
|
- no-new-privileges:true
|
|
|
|
|
ports:
|
|
|
|
|
- "80:80"
|
|
|
|
|
- "443:443"
|
|
|
|
|
{% if traefik_dashboard_enabled %}
|
|
|
|
|
- "8080:8080"
|
|
|
|
|
{% endif %}
|
|
|
|
|
volumes:
|
|
|
|
|
- /etc/localtime:/etc/localtime:ro
|
|
|
|
|
- {{ traefik_docker_socket }}:{{ traefik_docker_socket }}:ro
|
|
|
|
|
- ./traefik.yml:/etc/traefik/traefik.yml:ro
|
|
|
|
|
- ./dynamic.yml:/etc/traefik/dynamic.yml:ro
|
|
|
|
|
- ./letsencrypt:/letsencrypt
|
|
|
|
|
networks:
|
|
|
|
|
- {{ traefik_network }}
|
|
|
|
|
{% if traefik_dashboard_enabled %}
|
|
|
|
|
labels:
|
|
|
|
|
- "traefik.enable=true"
|
|
|
|
|
- "traefik.http.routers.dashboard.rule=Host(`{{ traefik_dashboard_domain }}`)"
|
|
|
|
|
- "traefik.http.routers.dashboard.entrypoints=websecure"
|
|
|
|
|
- "traefik.http.routers.dashboard.service=api@internal"
|
|
|
|
|
- "traefik.http.routers.dashboard.tls.certresolver=letsencrypt"
|
|
|
|
|
{% endif %}
|
|
|
|
|
|
|
|
|
|
networks:
|
|
|
|
|
{{ traefik_network }}:
|
|
|
|
|
external: true
|