Files
savant-node/infra/docker/traefik/docker-compose.yml
2026-03-20 22:42:20 -04:00

39 lines
1.2 KiB
YAML

services:
traefik:
image: traefik:${TRAEFIK_VERSION}
container_name: traefik
restart: unless-stopped
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
environment:
- TZ=${TZ}
- CF_DNS_API_TOKEN=${CF_DNS_API_TOKEN}
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.auth.basicauth.users=${BASIC_AUTH}"
- "traefik.http.routers.traefik.rule=Host(`${TRAEFIK_HOST}`)"
- "traefik.http.routers.traefik.entrypoints=${TRAEFIK_ENTRYPOINT}"
- "traefik.http.routers.traefik.middlewares=auth"
- "traefik.http.routers.traefik.tls=true"
- "traefik.http.routers.traefik.tls.certresolver=${TRAEFIK_RESOLVER}"
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
networks:
- frontend
ports:
- "${HTTP_PORT}:80"
- "${HTTPS_PORT}:443"
- "${TRAEFIK_DASHBOARD_BIND}:8080"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ${TRAEFIK_CONFIG}:/etc/traefik/traefik.yml:ro
- ${TRAEFIK_MIDDLEWARES}:/middlewares.yml:ro
- ${ACME_FILE}:/acme.json
- ${LETSENCRYPT_DIR}:/letsencrypt
networks:
frontend:
external: true