docker-compose/traefik/docker-compose.yml

75 lines
2.0 KiB
YAML

---
version: "3.7"
# Notes:
# Only entrypoints with chars and number are accepted, because:
# - bash does not allow hyphen in their name
# - Traefik does not allow underscore when shell configuration is used
x-paasify:
app:
service: traefik
port: 8080
image: traefik
version: v1.6
cmd: my command
cmd_help:
cmd_shell:
cmd_status:
conf:
traefik_svc_tls: false
traefik_svc_entrypoints: default-http
services:
traefik:
image: ${app_image}
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_name
- TRAEFIK_PROVIDERS_DOCKER_ENDPOINT=unix:///var/run/docker.sock
- TRAEFIK_PROVIDERS_DOCKER_SWARMMODE=false
- TRAEFIK_PROVIDERS_FILE_DIRECTORY=/etc/traefik
# This will restrict traefik to conatiners having label `proxy.group`
- TRAEFIK_PROVIDERS_DOCKER_CONSTRAINTS=Label(`traefik.group`,`$app_network_name`)
#- TRAEFIK_PROVIDERS_DOCKER_DEFAULTRULE=Host(`{{ .Name }}.{{ index .Labels \"proxy.name\"}}`)
# File provider
#- TRAEFIK_PROVIDERS.FILE.DIRECTORY=/etc/traefik/configs
# Entrypoints
- TRAEFIK_ENTRYPOINTS_default-http=True
- TRAEFIK_ENTRYPOINTS_default-http_ADDRESS=:80 # <== Defining an entrypoint for port :80 named default
labels:
- traefik.group=$app_network_name
volumes:
- $app_dir_conf:/etc/traefik
- $app_dir_data:/data
- $app_dir_logs:/logs
- /var/run/docker.sock:/var/run/docker.sock