traefik_v2x/docker-compose.yaml

73 lines
2.8 KiB
YAML

---
version: '3.7'
services:
traefik:
image: "traefik:v2.9"
container_name: "traefik"
# command: -- apk add -U curl
# command:
# - "-api=true"
# - "-api.dashboard=true"
# - "-log.level=DEBUG"
# - "-providers.docker=true"
# - "-providers.docker.exposedbydefault=false"
# - "-providers.docker.network=traefik_proxy"
# - "-entrypoints.web.address=:80"
# - "-entrypoints.websecure.address=:443"
# - "-certificatesresolvers.myresolver.acme.httpchallenge=true"
# - "-certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web"
# für Testzwecke geeignet, da Let's Encrypt "rate limiting" einsetzt
# - "-certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory"
# - "-certificatesresolvers.myresolver.acme.email=ddns@mcseeno.de"
# - "-certificatesresolvers.myresolver.acme.storage=/etc/traefik/ACME/acme.json"
volumes:
- "/etc/localtime:/etc/localtime:ro"
- "/etc/timezone:/etc/timezone:ro"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
- "/docker/traefik_v2x/config:/etc/traefik"
environment:
- "EXEC_PATH=/etc/traefik/ipv64-dns-challenge.sh"
ports:
- "8888:8080"
- "80:80"
- "443:443"
restart: always
logging:
driver: "gelf"
options:
gelf-address: "udp://192.168.2.79:12201"
labels:
- "traefik.enable=true"
- "traefik_api.loadbalancer.server.port=8080"
- "traefik.http.routers.traefik_api.rule=Host(`tr43f1k.czechman.ipv64.de`)"
- "traefik.http.routers.traefik_api.service=api@internal"
- "traefik.http.routers.traefik_api.middlewares=api-auth"
- "traefik.http.middlewares.api-auth.basicauth.users=McSeeno:$$2y$$13$$maYBYazCRDGmcKdSy/QA0eWBUEIpobxcUy.z68fnifcpoCqWm18wW" # Siehe Anleitung
- "traefik.http.routers.traefik_api.entrypoints=websecure"
- "traefik.http.routers.traefik_api.tls=true"
- "traefik.http.routers.traefik_api.tls.certresolver=myresolver"
# - "traefik.http.routers.traefik_api.tls.domains[0].main=czechman.ipv64.de"
# - "traefik.http.routers.traefik_api.tls.domains[0].sans=*.czechman.ipv64.de"
networks:
- traefik_proxy
# - default
whoami:
image: "containous/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`wai.czechman.ipv64.de`)"
# - "traefik.http.routers.whoami.rule=Host(`wai.czechman.ipv64.de`)"
- "traefik.http.routers.whoami.entrypoints=websecure"
- "traefik.http.routers.whoami.tls.certresolver=myresolver"
# - "traefik.http.routers.whoami.tls.certresolver=ipv64"
- "traefik.http.routers.whoami.middlewares=basic-auth@file"
networks:
- "traefik_proxy"
networks:
traefik_proxy:
external: true