traefik_v2x/docker-compose.yaml

61 lines
2.3 KiB
YAML

---
version: '3.7'
services:
traefik:
image: "traefik:v2.9"
container_name: "traefik"
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"
ports:
- "8888:8080"
- "80:80"
- "443:443"
restart: always
labels:
- "traefik.enable=true"
- "traefik_api.loadbalancer.server.port=8080"
- "traefik.http.routers.traefik_api.rule=Host(`tr43f1k.czechman.dynvpn.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,gast:$$apr1$$cGUjveuw$$jbRcmTDOfAsqcc9FfsNvG0" # Siehe Anleitung
- "traefik.http.routers.traefik_api.entrypoints=websecure"
- "traefik.http.routers.traefik_api.tls.certresolver=myresolver"
# - "traefik.http.routers.traefik.entrypoints=web"
networks:
- traefik_proxy
# - default
whoami:
image: "containous/whoami"
container_name: "simple-service"
labels:
- "traefik.enable=true"
- "traefik.http.routers.whoami.rule=Host(`wai.czechman.dynvpn.de`)"
- "traefik.http.routers.whoami.entrypoints=websecure"
- "traefik.http.routers.whoami.tls.certresolver=myresolver"
networks:
- "traefik_proxy"
networks:
traefik_proxy:
external: true