Files
Portainer/ruleta/docker-compose.yml
Eduardo David Paredes Vara f29208cfa2 middelware fix
2026-02-17 08:57:58 +00:00

58 lines
2.2 KiB
YAML

services:
# Aplicación Next.js
app:
image: ${RULETA_IMAGE}
container_name: ruleta-app
restart: unless-stopped
environment:
NODE_ENV: ${RULETA_NODE_ENV}
NEXT_TELEMETRY_DISABLED: ${RULETA_NEXT_TELEMETRY_DISABLED}
# Si usas Supabase, descomenta y configura:
# NEXT_PUBLIC_SUPABASE_URL: ${NEXT_PUBLIC_SUPABASE_URL}
# NEXT_PUBLIC_SUPABASE_ANON_KEY: ${NEXT_PUBLIC_SUPABASE_ANON_KEY}
# SUPABASE_SERVICE_ROLE_KEY: ${SUPABASE_SERVICE_ROLE_KEY}
networks:
- proxy
labels:
traefik.enable: "true"
traefik.docker.network: "${TRAEFIK_DOCKER_NETWORK}"
# ---------------------------
# 1) Router EXISTENTE (subdominio)
# https://ruleta.example.com
# ---------------------------
traefik.http.routers.ruleta-sub.rule: "Host(`${RULETA_SUBDOMAIN}`)"
traefik.http.routers.ruleta-sub.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}"
traefik.http.routers.ruleta-sub.tls.certresolver: "${TRAEFIK_CERTRESOLVER}"
traefik.http.routers.ruleta-sub.service: "ruleta"
# ---------------------------
# 2) Router NUEVO (.net + path)
# https://sherlockhomeless.net/ruleta
# ---------------------------
traefik.http.routers.ruleta-path.rule: "Host(`${RULETA_MAIN_DOMAIN}`) && PathPrefix(`/ruleta`)"
traefik.http.routers.ruleta-path.entrypoints: "${TRAEFIK_ENTRYPOINT_SECURE}"
traefik.http.routers.ruleta-path.tls.certresolver: "${TRAEFIK_CERTRESOLVER}"
traefik.http.routers.ruleta-path.service: "ruleta"
traefik.http.routers.ruleta-path.middlewares: "ruleta-strip@docker"
# Quita /ruleta antes de llegar a Next.js
traefik.http.middlewares.ruleta-strip.stripprefix.prefixes: "/ruleta"
traefik.http.middlewares.ruleta-strip.stripprefix.forceSlash: "true"
# Servicio interno (Next.js escucha en 3000)
traefik.http.services.ruleta.loadbalancer.server.port: "${RULETA_APP_PORT}"
# Proteger con Authentik (si quieres habilitarlo)
# OJO: si lo activas, ponlo en ambos routers o usa una cadena.
# traefik.http.routers.ruleta-sub.middlewares: "ths-authentik@docker"
# traefik.http.routers.ruleta-path.middlewares: "ths-authentik@docker,ruleta-strip@docker"
networks:
proxy:
external: true