- Agregar SUPABASE_SERVICE_ROLE_KEY al workflow de Gitea Actions - Usar variable correcta en docker-compose.yml - Desactivar navigateFallback en workbox para evitar error de precached-url - Actualizar documentación con los 3 secretos necesarios
3.1 KiB
Guía de Despliegue - Analítica Núcleo
Este proyecto se despliega automáticamente usando Gitea Actions en cada push a la rama master.
Configuración en Gitea
Secretos (Settings → Secrets)
Los siguientes secretos deben configurarse en el repositorio de Gitea:
| Secret | Descripción | Ejemplo |
|---|---|---|
SUPABASE_URL |
URL de tu instancia Supabase | https://xxx.supabase.co |
SUPABASE_ANON_KEY |
Clave anónima de Supabase (cliente) | eyJhbGc... (JWT) |
SUPABASE_SERVICE_ROLE_KEY |
Clave de servicio de Supabase (servidor) | sb_secret_... o eyJhbGc... |
Cómo agregar secretos en Gitea:
- Ve a tu repositorio en Gitea
- Navega a Settings → Secrets
- Haz clic en Add Secret
- Agrega cada uno de los secretos listados arriba
Infraestructura
Stack Docker
El proyecto se despliega como un stack de Docker Compose llamado analiticanucleo que contiene:
- nuxt-app: Aplicación Nuxt.js con SSR deshabilitado
Traefik
La aplicación está configurada para usar Traefik como reverse proxy:
- Dominio:
analitica.nucleoriofrio.com - Puerto interno:
3000(no expuesto públicamente) - TLS: Habilitado con Let's Encrypt
- Red:
principal(red externa compartida)
Workflow de Despliegue
El workflow .gitea/workflows/deploy.yml se ejecuta automáticamente en cada push a master y:
- Crea el archivo
.envcon los secretos - Verifica/crea la red Docker
principal - Detiene el stack existente (si existe)
- Construye la nueva imagen Docker
- Inicia el stack actualizado
- Muestra logs y estado de los servicios
Archivos del Proyecto
.
├── Dockerfile # Imagen Docker multi-stage con Node 22
├── docker-compose.yml # Configuración del stack con labels de Traefik
├── .gitea/workflows/deploy.yml # Workflow de CI/CD
└── nuxt4-app/ # Código de la aplicación Nuxt
├── nuxt.config.ts # Configuración de Nuxt (ssr: false)
└── nuxt.config.workaround.ts # Workaround para @nuxt/ui v4 con ssr: false
Notas Técnicas
Workaround para @nuxt/ui v4
Debido a un issue conocido con @nuxt/ui v4 y ssr: false, se implementó un plugin de Vite (nuxt.config.workaround.ts) que marca como externos los módulos de servidor (@nuxt/kit, @tailwindcss/*, etc.) para evitar que se incluyan en el bundle del cliente.
Build
El build utiliza:
- Node.js 22 Alpine
- Vite 7
- Nuxt 4
- Sharp para procesamiento de imágenes
Troubleshooting
El build falla con errores de importación
Asegúrate de que el archivo nuxt.config.workaround.ts está presente y correctamente importado en nuxt.config.ts.
La aplicación no es accesible
- Verifica que Traefik esté corriendo
- Verifica que la red
principalexiste:docker network ls - Verifica los logs del contenedor:
docker logs analiticanucleo-nuxt-app - Verifica las labels de Traefik:
docker inspect analiticanucleo-nuxt-app
Variables de entorno no se aplican
Verifica que los secretos estén configurados correctamente en Gitea y que el workflow los esté pasando al archivo .env.