josedario87 d5333c0dde
All checks were successful
build-and-deploy / build-and-deploy (push) Successful in 33s
Agregar apple-touch-icon.png para iOS/Safari
2025-10-17 05:45:43 -06:00
2025-10-11 17:26:16 -06:00
2025-10-11 19:27:48 -06:00

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
Description
No description provided
Readme 6.5 MiB
Languages
Vue 45.8%
TypeScript 42.9%
PLpgSQL 5.2%
Shell 4.5%
HTML 1.2%
Other 0.4%