Add Nuxt 4 app with OAuth/OIDC authentication and PWA support
All checks were successful
build-and-deploy / build (push) Successful in 2m7s
build-and-deploy / deploy (push) Successful in 3s

- Integrated Authentik OAuth/OIDC authentication
- Added PWA functionality with offline support
- Created protected and public API endpoints
- Configured Docker deployment with Traefik
- Added Gitea Actions CI/CD workflow
- Included comprehensive setup documentation
This commit is contained in:
2025-10-11 17:12:05 -06:00
parent 588b167ad5
commit 7612487d3f
46 changed files with 16975 additions and 0 deletions

42
docker-compose.yml Normal file
View File

@@ -0,0 +1,42 @@
version: '3.8'
services:
seguidor-lotes:
image: gitea.nucleoriofrio.com/nucleo000/seguidor-lotes:latest
container_name: seguidor-lotes
restart: unless-stopped
environment:
# OAuth Authentik
- NUXT_OAUTH_AUTHENTIK_CLIENT_ID=${NUXT_OAUTH_AUTHENTIK_CLIENT_ID}
- NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET=${NUXT_OAUTH_AUTHENTIK_CLIENT_SECRET}
- NUXT_OAUTH_AUTHENTIK_SERVER_URL=${NUXT_OAUTH_AUTHENTIK_SERVER_URL}
- NUXT_OAUTH_AUTHENTIK_REDIRECT_URL=${NUXT_OAUTH_AUTHENTIK_REDIRECT_URL}
# Public URL
- NUXT_PUBLIC_APP_URL=${NUXT_PUBLIC_APP_URL}
# Session Secret
- NUXT_SESSION_PASSWORD=${NUXT_SESSION_PASSWORD}
# Node Environment
- NODE_ENV=production
networks:
- principal
labels:
# Traefik labels
- "traefik.enable=true"
- "traefik.docker.network=principal"
# HTTP Router
- "traefik.http.routers.seguidor-lotes.rule=Host(`${APP_DOMAIN}`)"
- "traefik.http.routers.seguidor-lotes.entrypoints=websecure"
- "traefik.http.routers.seguidor-lotes.tls.certresolver=letsencrypt"
# Service
- "traefik.http.services.seguidor-lotes.loadbalancer.server.port=3000"
# Middleware (opcional: puedes añadir rate limiting, compression, etc.)
- "traefik.http.routers.seguidor-lotes.middlewares=seguidor-lotes-headers"
- "traefik.http.middlewares.seguidor-lotes-headers.headers.customrequestheaders.X-Forwarded-Proto=https"
- "traefik.http.middlewares.seguidor-lotes-headers.headers.customrequestheaders.X-Forwarded-For=$${REMOTE_ADDR}"
networks:
principal:
external: true