# SOLUCIÓN: TURN SERVER PARA EASYPANEL ## 🔄 TURN Server como alternativa para NAT traversal ### ¿Qué es TURN? TURN (Traversal Using Relays around NAT) permite que WebRTC funcione sin exponer miles de puertos UDP. ## 🏗️ ARQUITECTURA CON TURN ``` Cliente → Internet → TURN Server → EasyPanel (3 puertos) (sin UDP) Vs. directo: Cliente → Internet → EasyPanel (10,000 UDP) ❌ No posible ``` ## 📋 IMPLEMENTACIÓN ### 1. TURN Server en VPS separado ```bash # Instalar Coturn en VPS apt-get update apt-get install coturn # /etc/turnserver.conf listening-port=3478 tls-listening-port=5349 external-ip=IP_PUBLICA_VPS realm=turn.tu-dominio.com lt-cred-mech user=usuario:password123 verbose ``` ### 2. Firewall VPS (Solo 3 puertos) ```bash # Solo estos 3 puertos para TURN ufw allow 3478/tcp # TURN TCP ufw allow 3478/udp # TURN UDP ufw allow 5349/tcp # TURN over TLS ufw enable ``` ### 3. LiveKit en EasyPanel con TURN ```yaml # livekit.yaml para EasyPanel port: 7880 keys: devkey: tu-secret-32-chars # SIN puertos UDP locales - usar TURN rtc: # NO port_range - usa TURN use_external_ip: false # Configurar TURN servers ice_servers: - urls: ["stun:stun.l.google.com:19302"] - urls: ["turn:turn.tu-dominio.com:3478"] username: "usuario" credential: "password123" - urls: ["turns:turn.tu-dominio.com:5349"] username: "usuario" credential: "password123" ``` ### 4. Variables EasyPanel ```env # Solo TCP - SIN UDP LIVEKIT_URL=wss://tu-app.easypanel.host/livekit LIVEKIT_API_KEY=devkey LIVEKIT_API_SECRET=tu-secret-32-chars ``` ### 5. Nginx en EasyPanel para proxy LiveKit ```nginx # nginx.conf - agregar ruta para LiveKit location /livekit { proxy_pass http://openvidu-meet:7880; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } ``` ## 💰 COSTOS - **TURN VPS**: $5-10/mes (pequeño VPS) - **EasyPanel**: Tu plan actual - **Total**: +$5-10/mes vs LiveKit Cloud ## ✅ VENTAJAS - ✅ Solo 3 puertos UDP en VPS externo - ✅ EasyPanel sin UDP - ✅ NAT traversal garantizado - ✅ Menor costo que LiveKit Cloud ## ❌ DESVENTAJAS - ❌ Configuración más compleja - ❌ VPS adicional para TURN - ❌ Latencia adicional (relay) - ❌ Ancho de banda TURN server