diff --git a/.env.example b/.env.example index b505872..3f3b307 100644 --- a/.env.example +++ b/.env.example @@ -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 diff --git a/README.md b/README.md index fff6152..4a36d25 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docker-compose.yml b/docker-compose.yml index cce3946..dedfff5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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