Files
traefik/dynamic/README.md

2.1 KiB

Configuración Dinámica de Traefik

Este directorio contiene configuración que Traefik recarga automáticamente sin reiniciar el contenedor.

Archivos

  • middlewares.yml: Middlewares reutilizables (headers seguridad, rate limit, auth, etc.)
  • routers.yml: Routers HTTP/HTTPS (ejemplos comentados)
  • services.yml: Servicios backend (ejemplos comentados)

Nota: Los archivos NO usan la raíz http: porque Traefik los carga automáticamente bajo http.middlewares, http.routers, y http.services respectivamente.

Autenticación Básica

El middleware auth-basic está habilitado por defecto para proteger el dashboard de Traefik.

Configurar tu contraseña

  1. Genera hash bcrypt:
docker run --rm httpd:alpine htpasswd -nbB admin tu_password
  1. Copia el hash completo (después de admin:)

  2. Edita middlewares.yml línea 35:

auth-basic:
  basicAuth:
    users:
      - "admin:$2y$05$HASH_GENERADO_AQUI"
  1. Guarda → recarga automática en ~10 segundos

Uso

Aplicar middleware a un servicio

En el docker-compose.yaml de tu servicio:

services:
  mi-servicio:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.mi-servicio.rule=Host(`app.tudominio.com`)"
      - "traefik.http.routers.mi-servicio.entrypoints=websecure"
      - "traefik.http.routers.mi-servicio.tls.certresolver=letsencrypt"
      - "traefik.http.routers.mi-servicio.middlewares=security-headers@file,rate-limit@file"

Nota: El sufijo @file indica que el middleware viene de configuración dinámica.

Cadena de middlewares

Puedes combinar varios:

- "traefik.http.routers.app.middlewares=security-headers@file,rate-limit@file,ip-whitelist@file"

Recarga automática

Traefik detecta cambios en este directorio y recarga sin reiniciar. Espera ~10 segundos tras editar.

Ejemplos adicionales