Fix Traefik network and Authentik middleware configuration

- Add traefik-network to container networks (CRITICAL FIX)
- Change middleware to authentik-forward-auth@file
- Update traefik.docker.network to traefik-network
- Document network requirements
- Update Authentik configuration instructions
This commit is contained in:
2025-10-12 22:39:49 -06:00
parent 0f7abc6d48
commit fc46ae7a53
3 changed files with 28 additions and 12 deletions

View File

@@ -42,10 +42,11 @@ REGISTRY_PASSWORD=mi-password-secreto
# Esta plantilla usa Authentik Proxy Outpost para autenticación.
# NO se requiere configuración OAuth en la aplicación.
#
# Asegúrate de:
# 1. Tener un Proxy Outpost de Authentik configurado en Traefik
# 2. Actualizar el middleware en docker-compose.yml con el nombre correcto de tu outpost
# 3. Configurar la aplicación en Authentik para este dominio
# Requisitos:
# 1. Red 'traefik-network' creada: docker network create traefik-network
# 2. Middleware 'authentik-forward-auth' configurado en Traefik (ej: dynamic/middlewares.yml)
# 3. Proxy Provider de tipo Forward Auth en Authentik
# 4. Aplicación configurada en Authentik para el dominio APP_DOMAIN
#
# La aplicación Nuxt recibirá estos headers automáticamente:
# - X-authentik-username: nombre de usuario

View File

@@ -83,15 +83,28 @@ Para configurar el despliegue automático, ve a tu repositorio en Gitea:
Esta plantilla requiere un **Authentik Proxy Outpost** ya configurado en Traefik.
**Requisitos previos:**
- Red `traefik-network` creada y Traefik corriendo en ella
- Authentik Forward Auth middleware configurado en Traefik (ej: en `dynamic/middlewares.yml`)
- Proxy Provider de tipo Forward Auth en Authentik
**Pasos:**
1. **En Authentik:**
- Crea una aplicación para tu dominio
- Crea/usa un Proxy Provider (Forward auth)
- Crea/usa un Proxy Provider de tipo **Forward auth (single application)**
- Asocia la aplicación al Outpost
2. **En `docker-compose.yml`:**
- Actualiza el middleware `authentik-outpost@docker` con el nombre correcto de tu outpost
2. **Redes requeridas:**
- `principal` - Red de tu infraestructura
- `traefik-network` - Red donde corre Traefik
3. **Headers disponibles en la app:**
3. **Middleware en Traefik:**
- El `docker-compose.yml` usa `authentik-forward-auth@file`
- Verifica que este middleware esté definido en tu configuración de Traefik
- Si tu middleware tiene otro nombre, actualiza el `docker-compose.yml`
4. **Headers disponibles en la app:**
- `X-authentik-username`: nombre de usuario
- `X-authentik-email`: email del usuario
- `X-authentik-name`: nombre completo

View File

@@ -14,10 +14,11 @@ services:
- NUXT_PUBLIC_APP_URL=${NUXT_PUBLIC_APP_URL}
networks:
- principal
- traefik-network
labels:
# Traefik labels
- "traefik.enable=true"
- "traefik.docker.network=principal"
- "traefik.docker.network=traefik-network"
# HTTP Router
- "traefik.http.routers.${APP_NAME}.rule=Host(`${APP_DOMAIN}`)"
@@ -27,9 +28,8 @@ services:
# Service
- "traefik.http.services.${APP_NAME}.loadbalancer.server.port=3000"
# Middleware chain: Authentik Proxy Outpost + Headers
# IMPORTANTE: Reemplaza 'authentik-outpost@docker' con el nombre de tu proxy outpost
- "traefik.http.routers.${APP_NAME}.middlewares=authentik-outpost@docker,${APP_NAME}-headers"
# Middleware chain: Authentik Forward Auth + Headers
- "traefik.http.routers.${APP_NAME}.middlewares=authentik-forward-auth@file,${APP_NAME}-headers"
# Custom headers middleware
- "traefik.http.middlewares.${APP_NAME}-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
@@ -37,3 +37,5 @@ services:
networks:
principal:
external: true
traefik-network:
external: true