Files
seguidorDeLotes/README.md
josedario87 b9ba7a80db
All checks were successful
build-and-deploy / build (push) Successful in 2m1s
build-and-deploy / deploy (push) Successful in 4s
Clean up codebase and prepare as template
Remove unused files and code:
- Delete test/debug endpoints (test.get.ts, public.get.ts, user.get.ts, debug-config backup)
- Remove unused OAuth wrapper (oauth-authentik.ts)
- Clean up debug console.log statements
- Simplify code comments

Fix TypeScript errors:
- Add @types/node dependency
- Create index.d.ts with User interface extension
- Fix UButton color props (red→error, gray→neutral)
- Add type assertions in protected.get.ts

Update documentation:
- Enhance README.md as template documentation
- Update SETUP.md with correct API routes (/api/auth/* instead of /auth/*)
- Add NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL documentation
- Update endpoint documentation

This commit prepares the repository to be used as a template for future Nuxt 4 + Authentik OAuth projects.
2025-10-11 19:18:52 -06:00

100 lines
3.0 KiB
Markdown

# Nuxt 4 + Authentik OAuth + PWA Template
Template de aplicación Nuxt 4 con autenticación OAuth/OIDC usando Authentik y funcionalidad PWA (Progressive Web App).
## 🚀 Características
-**Nuxt 4** - Framework Vue.js de última generación
-**Autenticación OAuth/OIDC** - Integración con Authentik
-**PWA** - Funciona offline con Service Workers
-**Docker** - Despliegue con Docker Compose
-**Traefik** - Configurado para reverse proxy
-**Gitea Actions** - CI/CD automático incluido
-**TypeScript** - Tipado estático
-**Nuxt UI** - Componentes UI modernos
## 📋 Requisitos Previos
- Docker y Docker Compose
- Authentik corriendo (en la misma red Docker)
- Traefik como reverse proxy
- Gitea (opcional, para CI/CD)
## 🛠️ Instalación Rápida
1. **Clona el repositorio**
```bash
git clone https://tu-repo.git
cd seguidor-lotes
```
2. **Configura variables de entorno** (ver `SETUP.md` para detalles)
3. **Despliega**
```bash
docker-compose up -d
```
## 📖 Documentación Completa
Ver [SETUP.md](./SETUP.md) para:
- Configuración detallada de Authentik
- Variables de entorno requeridas
- Configuración de Gitea Actions
- Troubleshooting
- Personalización
## 🏗️ Estructura del Proyecto
```
├── .gitea/
│ └── workflows/ # CI/CD workflows
├── nuxt4-app/
│ ├── app/
│ │ ├── components/ # Componentes Vue
│ │ ├── middleware/ # Middleware de autenticación
│ │ └── pages/ # Páginas de la aplicación
│ ├── server/
│ │ └── api/ # API endpoints
│ │ ├── auth/ # Rutas de autenticación OAuth
│ │ └── protected.get.ts # Ejemplo de API protegida
│ ├── public/ # Assets estáticos y PWA icons
│ ├── nuxt.config.ts # Configuración de Nuxt
│ └── Dockerfile # Dockerfile para producción
├── docker-compose.yml # Configuración de Docker Compose
└── SETUP.md # Guía de configuración detallada
```
## 🔐 Autenticación
El template implementa OAuth 2.0 / OpenID Connect con:
- Login con Authentik
- Protección de rutas con middleware
- Protección de APIs con `requireUserSession`
- Información de usuario (email, nombre, grupos)
- Logout completo
## 🎨 Personalización
1. **Cambiar nombre de la app**: Edita `nuxt4-app/nuxt.config.ts`
2. **Añadir páginas protegidas**: Usa `definePageMeta({ middleware: 'auth' })`
3. **Crear APIs protegidas**: Usa `requireUserSession(event)` en tus handlers
4. **Customizar UI**: Modifica componentes en `app/components/`
## 🐛 Troubleshooting
Problemas comunes y soluciones en [SETUP.md - Sección 10](./SETUP.md#10-troubleshooting)
## 📝 Licencia
MIT
## 🤝 Contribuir
Este es un template base. Siéntete libre de:
1. Fork el proyecto
2. Crear una rama para tu feature
3. Commit tus cambios
4. Push a la rama
5. Abrir un Pull Request