version: "3.8" # ========================================================================== # LiveKit (SFU de medios) + lk-jwt-service (autenticación Matrix <-> LiveKit) # Para habilitar llamadas de voz/vídeo (Element Call) en tu servidor Synapse # ========================================================================== services: livekit: image: livekit/livekit-server:latest container_name: livekit restart: unless-stopped command: --config /etc/livekit.yaml volumes: # >>> CAMBIA esta ruta a tu disco duro <<< - ./matrix/livekit/livekit.yaml:/etc/livekit.yaml:ro ports: # Puerto de señalización (WebSocket/HTTP) - va detrás de tu nginx - "7880:7880" # Puertos RTC (audio/vídeo real) - estos SÍ deben quedar expuestos # directamente, no pueden ir detrás de un proxy nginx - "7881:7881/tcp" - "7882:7882/udp" networks: - rtc-net lk-jwt-service: image: ghcr.io/element-hq/lk-jwt-service:latest container_name: lk-jwt-service restart: unless-stopped environment: LK_JWT_PORT: "8080" LIVEKIT_URL: "wss://rtc.example.com" # >>> CAMBIA por tu subdominio real <<< LIVEKIT_KEY: "matrix" # >>> CAMBIA, debe coincidir con livekit.yaml <<< LIVEKIT_SECRET: "" # >>> CAMBIA, debe coincidir con livekit.yaml <<< LIVEKIT_FULL_ACCESS_HOMESERVERS: "macarron.jrodriiguezg.link" LIVEKIT_INSECURE_SKIP_VERIFY_TLS: "false" LK_JWT_MATRIX_SERVER_URLS: "" depends_on: - livekit ports: - "8083:8080" networks: - rtc-net networks: rtc-net: driver: bridge