restreamer-ui-v2/docker-compose.yml

64 lines
3.3 KiB
YAML

services:
restreamer-ui:
# NOTA: Primero compila con: yarn build
# Luego construye la imagen con: docker build --tag restreamer-ui-v2:latest .
# O usa el script: build-docker.bat
image: restreamer-ui-v2:latest
container_name: restreamer-ui
restart: unless-stopped
ports:
- "3000:3000"
environment:
# ── Restreamer Core ────────────────────────────────────────────────────
# URL del Core al que se conecta la UI. Dejar vacío para auto-detectar
# desde window.location (cuando la UI está embebida dentro del Core).
CORE_ADDRESS: "https://restreamer.nextream.sytes.net"
# ── yt-dlp / stream extractor ──────────────────────────────────────────
# Host:puerto del servicio extractor (usado por Caddy para reverse_proxy).
# Caddy expondrá el servicio en http://localhost:3000/yt-stream/
YTDLP_HOST: "100.73.244.28:8080"
# YTDLP_URL: URL completa del servicio yt-dlp vista desde el NAVEGADOR.
# Dejar vacío → la UI usará /yt-stream/ (Caddy proxy, mismo origen = sin CORS).
YTDLP_URL: ""
# ── Facebook OAuth2 microserver ────────────────────────────────────────
# Dejar vacío → Caddy proxy /fb-server → localhost:3002 (sin CORS)
FB_SERVER_URL: ""
# URL EXACTA registrada en Facebook como "Valid OAuth Redirect URI"
# Debe coincidir con lo que tienes en developers.facebook.com
FB_OAUTH_CALLBACK_URL: "https://djmaster.nextream.sytes.net/oauth/facebook/callback.htm"
# URL EXACTA registrada en Google Console como "Authorized redirect URI"
# Debe coincidir con lo que tienes en console.cloud.google.com
YT_OAUTH_CALLBACK_URL: "https://djmaster.nextream.sytes.net/oauth2callback"
# Clave de cifrado para tokens almacenados (cámbiala en producción)
FB_ENCRYPTION_SECRET: "restreamer-ui-fb-secret-key-32x!"
# ── WebRTC Relay → FFmpeg → RTMP ──────────────────────────────────────
# Host del Restreamer Core para el relay RTMP (en Docker = nombre del servicio)
# Si la UI corre junto al Core en la misma red Docker, usar el service name.
# Si corre independiente, apuntar a la IP/hostname del Core.
RTMP_HOST: "restreamer.nextream.sytes.net"
RTMP_PORT: "1935"
RTMP_APP: "live"
# ── LiveKit ────────────────────────────────────────────────────────────
# Credenciales del servidor LiveKit (self-hosted o LiveKit Cloud)
LIVEKIT_API_KEY: "APIBTqTGxf9htMK"
LIVEKIT_API_SECRET: "0dOHWPffwneaPg7OYpe4PeAes21zLJfeYJB9cKzSTtXW"
LIVEKIT_WS_URL: "wss://livekit-server.nextream.sytes.net"
volumes:
# Persistencia de tokens OAuth2 (Facebook, YouTube, etc.)
- restreamer-ui-fb-data:/data/fb
# devices:
# - "/dev/video1:/dev/video1" # Descomentar si hay cámara USB disponible
volumes:
restreamer-ui-fb-data:
driver: local