diff --git a/Configuracion-Avanzada.md b/Configuracion-Avanzada.md index 8540e5a..4d74cb0 100644 --- a/Configuracion-Avanzada.md +++ b/Configuracion-Avanzada.md @@ -21,13 +21,13 @@ providers: docker: exposedByDefault: false network: proxy - # file: - # directory: /etc/traefik/dynamic - # watch: true + file: + directory: /etc/traefik/dynamic + watch: true ``` Usa `exposedByDefault: false` para controlar qué servicios se publican. -**Nota:** El proveedor `file` está comentado por defecto. Descoméntalo solo si vas a usar configuración dinámica y crea el directorio correspondiente. +**Configuración dinámica habilitada:** El proveedor `file` está activo. Coloca middlewares y configuraciones en `dynamic/middlewares.yml`. Traefik recarga automáticamente los cambios sin reinicio. ## Certificados ```yaml @@ -42,7 +42,36 @@ certificatesResolvers: **IMPORTANTE:** Edita directamente en `traefik.yml` con tu email real antes de desplegar. `storage` debe ser persistente para mantener renovaciones. ## Dashboard -Se expone vía labels apuntando a `api@internal`. Protege con dominio + auth básica. + +Se expone vía labels en `docker-compose.yaml` apuntando a `api@internal`. + +### Autenticación Básica + +El dashboard está protegido con el middleware `auth-basic@file`: + +```yaml +labels: + - "traefik.http.routers.traefik.middlewares=auth-basic@file" +``` + +**Configurar contraseña:** + +1. Genera hash bcrypt: +```bash +docker run --rm httpd:alpine htpasswd -nbB admin tu_password_segura +``` + +2. Edita `dynamic/middlewares.yml`: +```yaml +auth-basic: + basicAuth: + users: + - "admin:$2y$05$HASH_COMPLETO_AQUI" +``` + +3. Guarda → recarga automática (~10s) + +**Nota:** El sufijo `@file` indica que el middleware proviene de configuración dinámica. ## Staging vs Producción Para pruebas masivas: diff --git a/Home.md b/Home.md index a429724..b835f45 100644 --- a/Home.md +++ b/Home.md @@ -19,9 +19,23 @@ git clone https://git.ictiberia.com/groales/traefik cd traefik mkdir -p letsencrypt && echo > letsencrypt/acme.json # chmod 600 letsencrypt/acme.json (Linux) + +# Edita traefik.yml (email ACME) y docker-compose.yaml (dominio dashboard) +# Configura contraseña en dynamic/middlewares.yml (ver sección Dashboard) + docker compose up -d ``` +## Dashboard Protegido + +El dashboard usa **autenticación básica** mediante `auth-basic@file`. + +**Configurar contraseña:** +```bash +docker run --rm httpd:alpine htpasswd -nbB admin tu_password +# Edita dynamic/middlewares.yml línea 35 con el hash generado +``` + ## Páginas - [Configuración Avanzada](Configuracion-Avanzada.md) - [TLS y ACME](TLS-ACME.md)