Files
seguidorDeLotes/docker-compose.yml
josedario87 482eafb8b4
Some checks failed
build-and-deploy / build (push) Failing after 46s
build-and-deploy / deploy (push) Has been cancelled
Implementar link handling y asociación con PWA hub
- Agregar capture_links en manifest para mejorar experiencia PWA
- Crear archivo .well-known para asociación con inicio.nucleoriofrio.com
- Agregar router público en Traefik para recursos PWA y .well-known
2025-10-17 02:15:33 -06:00

51 lines
2.3 KiB
YAML

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_SERVER_URL_INTERNAL=${NUXT_OAUTH_AUTHENTIK_SERVER_URL_INTERNAL}
- 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"
# Router público para recursos PWA (sin autenticación)
- "traefik.http.routers.seguidor-lotes-public.rule=Host(`${APP_DOMAIN}`) && (PathPrefix(`/.well-known`) || Path(`/manifest.webmanifest`) || Path(`/sw.js`) || PathPrefix(`/workbox-`) || PathPrefix(`/icon-`) || Path(`/favicon.ico`))"
- "traefik.http.routers.seguidor-lotes-public.entrypoints=websecure"
- "traefik.http.routers.seguidor-lotes-public.tls.certresolver=letsencrypt"
- "traefik.http.routers.seguidor-lotes-public.priority=100"
- "traefik.http.routers.seguidor-lotes-public.service=seguidor-lotes"
# 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