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

3.0 KiB

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

    git clone https://tu-repo.git
    cd seguidor-lotes
    
  2. Configura variables de entorno (ver SETUP.md para detalles)

  3. Despliega

    docker-compose up -d
    

📖 Documentación Completa

Ver 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

📝 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