Files
traefik/dynamic/README.md

2.0 KiB

Configuración Dinámica de Traefik

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

Archivos

  • config.yml: Configuración dinámica completa (middlewares, routers, servicios)

Importante: Con directory: en el proveedor file, se debe usar un único archivo consolidado con la estructura http: como raíz.

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 config.yml (sección http > middlewares > auth-basic):

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