Fix Traefik network and Authentik middleware configuration
All checks were successful
build-and-deploy / build (push) Successful in 7s
build-and-deploy / deploy (push) Successful in 2s

- 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. # Esta plantilla usa Authentik Proxy Outpost para autenticación.
# NO se requiere configuración OAuth en la aplicación. # NO se requiere configuración OAuth en la aplicación.
# #
# Asegúrate de: # Requisitos:
# 1. Tener un Proxy Outpost de Authentik configurado en Traefik # 1. Red 'traefik-network' creada: docker network create traefik-network
# 2. Actualizar el middleware en docker-compose.yml con el nombre correcto de tu outpost # 2. Middleware 'authentik-forward-auth' configurado en Traefik (ej: dynamic/middlewares.yml)
# 3. Configurar la aplicación en Authentik para este dominio # 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: # La aplicación Nuxt recibirá estos headers automáticamente:
# - X-authentik-username: nombre de usuario # - 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. 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:** 1. **En Authentik:**
- Crea una aplicación para tu dominio - 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 - Asocia la aplicación al Outpost
2. **En `docker-compose.yml`:** 2. **Redes requeridas:**
- Actualiza el middleware `authentik-outpost@docker` con el nombre correcto de tu outpost - `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-username`: nombre de usuario
- `X-authentik-email`: email del usuario - `X-authentik-email`: email del usuario
- `X-authentik-name`: nombre completo - `X-authentik-name`: nombre completo

View File

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