Files
seguidorDeLotes/README.md
josedario87 0f7abc6d48 Add automatic repository owner to image naming
- Use github.repository_owner in workflow
- Image format: REGISTRY_URL/owner/APP_NAME:latest
- Works automatically with Gitea registry
- Template-friendly: forks use their own owner
- Update documentation with new format
2025-10-12 22:19:20 -06:00

106 lines
3.1 KiB
Markdown

# Plantilla Nuxt + Authentik Proxy
Plantilla base para aplicaciones Nuxt 4 con autenticación mediante Authentik Proxy Outpost.
## Estructura del Proyecto
```
.
├── nuxt4/ # Aplicación Nuxt 4
├── docker-compose.yml # Configuración de despliegue
└── .gitea/ # Gitea Actions CI/CD
```
## Características
- ✅ Nuxt 4
- ✅ Autenticación con Authentik Proxy Outpost
- ✅ Docker y Docker Compose
- ✅ CI/CD con Gitea Actions
- ✅ Traefik para proxy reverso y SSL
- ✅ Claude Code hooks para monitoreo de Actions
- ✅ Sin configuración OAuth necesaria (todo manejado por el proxy)
## Desarrollo Local
```bash
cd nuxt4
npm install
npm run dev
```
## Claude Code Hooks
Este proyecto incluye hooks de Claude Code para monitorear automáticamente las Gitea Actions.
### Configuración Rápida:
1. **Crear token de Gitea:**
- Ve a tu instancia de Gitea → Settings → Applications
- Genera un token con permisos `repo`
2. **Configurar token:**
```bash
echo "export GITEA_TOKEN='tu_token_aqui'" >> ~/.bashrc
source ~/.bashrc
```
3. **Listo!** Cuando Claude Code haga `git push`, automáticamente:
- Monitoreará la Gitea Action
- Te notificará cuando termine con información detallada
- Te mostrará un link directo a los logs
📖 Ver documentación completa en [`.claude/hooks/README.md`](.claude/hooks/README.md)
## Despliegue
El proyecto incluye Gitea Actions que automáticamente:
1. Construye la imagen Docker
2. La sube al registro
3. Despliega usando docker-compose
### Variables Requeridas en Gitea
Para configurar el despliegue automático, ve a tu repositorio en Gitea:
- **Secrets**: `Settings > Actions > Secrets`
- **Variables**: `Settings > Actions > Variables`
**Secrets (valores sensibles):**
- `REGISTRY_USERNAME` - Usuario del registro Docker
- `REGISTRY_PASSWORD` - Contraseña del registro Docker
**Variables (valores públicos):**
- `REGISTRY_URL` - URL del registro Docker (ej: `gitea.nucleoriofrio.com`)
- El owner del repositorio se agrega automáticamente
- Imagen final: `REGISTRY_URL/owner/APP_NAME:latest`
- `APP_NAME` - Nombre de la aplicación (ej: `mi-app`) - usado para container, imagen y Traefik
- `APP_DOMAIN` - Dominio de la aplicación (ej: `miapp.ejemplo.com`)
- `NUXT_PUBLIC_APP_URL` - URL pública de la app (ej: `https://miapp.ejemplo.com`)
📄 Ver ejemplo completo en [`.env.example`](.env.example)
### Configuración de Authentik Proxy Outpost
Esta plantilla requiere un **Authentik Proxy Outpost** ya configurado en Traefik.
1. **En Authentik:**
- Crea una aplicación para tu dominio
- Crea/usa un Proxy Provider (Forward auth)
- Asocia la aplicación al Outpost
2. **En `docker-compose.yml`:**
- Actualiza el middleware `authentik-outpost@docker` con el nombre correcto de tu outpost
3. **Headers disponibles en la app:**
- `X-authentik-username`: nombre de usuario
- `X-authentik-email`: email del usuario
- `X-authentik-name`: nombre completo
- `X-authentik-groups`: grupos (separados por `|`)
- `X-authentik-uid`: ID único
Tu aplicación Nuxt puede leer estos headers para obtener información del usuario autenticado.
## Licencia
MIT