docker-compose/traefik/docker-compose.yml
2022-07-15 05:56:59 -04:00

60 lines
2.0 KiB
YAML

---
version: "3.7"
networks:
default:
name: ${APP_NETWORK}
services:
traefik:
image: ${APP_IMAGE:-traefik}:${APP_VERSION:-v2.6.1}
restart: always
networks:
default:
environment:
#command:
# Core config
- TRAEFIK_API=true
- TRAEFIK_API_DASHBOARD=true
- TRAEFIK_API_DEBUG=true
- TRAEFIK_API_INSECURE=true
- TRAEFIK_PILOT_DASHBOARD=false
# Logging
- TRAEFIK_LOG_LEVEL=INFO
- TRAEFIK_ACCESSLOG=false
- TRAEFIK_ACCESSLOG_FILEPATH=/data/access.log
# Docker configuration
- TRAEFIK_PROVIDERS_DOCKER=true
- TRAEFIK_PROVIDERS_DOCKER_WATCH=true
- TRAEFIK_PROVIDERS_DOCKER_EXPOSEDBYDEFAULT=false
- TRAEFIK_PROVIDERS_DOCKER_NETWORK=$APP_NETWORK
- TRAEFIK_PROVIDERS_DOCKER_ENDPOINT=unix:///var/run/docker.sock
- TRAEFIK_PROVIDERS_DOCKER_SWARMMODE=false
# File provider
#- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs
# Entrypoints
- TRAEFIK_ENTRYPOINTS_front-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named front
volumes:
- ./config:/etc/traefik
- ./data:/data
- ./logs:/logs
- /var/run/docker.sock:/var/run/docker.sock
labels:
#### Labels define the behavior and rules of the traefik proxy for this container ####
- "traefik.enable=true" # <== Enable traefik on itself to view dashboard and assign subdomain to view it
- "traefik.http.routers.dashboard.rule=Host(`${APP_DOMAIN}`)" # <== Setting the domain for the dashboard
#- "traefik.http.routers.dashboard.service=api@internal" # <== Enabling the api to be a service to access
- "traefik.http.routers.dashboard.service=dashboard" # <== Enabling the api to be a service to access
- "traefik.http.routers.dashboard.entrypoints=$TRAEFIK_ENTRYPOINTS"
#- "traefik.http.routers.dashboard.tls=true"
#- "traefik.http.routers.dashboard.tls.certresolver=tls_barbu_it_net"
- "traefik.http.services.dashboard.loadbalancer.server.port=8080"