# CONFIGURACI脫N ROUTER - PORT FORWARDING PARA LIVEKIT ## 馃寪 Port Forwarding necesario en tu Router ### Puertos a exponer p煤blicamente: | Servicio | Puerto | Protocolo | IP Interna | Descripci贸n | |----------|---------|-----------|------------|-------------| | **HTTP** | 80 | TCP | 192.168.1.19 | Redirect a HTTPS | | **HTTPS/WSS** | 443 | TCP | 192.168.1.19 | LiveKit WebSocket Secure | | **LiveKit API** | 7880 | TCP | 192.168.1.19 | API directa (opcional) | | **WebRTC Media** | 50000-50100 | UDP | 192.168.1.19 | Streams de audio/video | ### Configuraci贸n t铆pica router: ``` Regla 1: LiveKit-HTTPS - Servicio: HTTPS/Custom - Puerto externo: 443 - Puerto interno: 443 - IP interna: 192.168.1.19 - Protocolo: TCP - Estado: Habilitado Regla 2: LiveKit-HTTP - Servicio: HTTP - Puerto externo: 80 - Puerto interno: 80 - IP interna: 192.168.1.19 - Protocolo: TCP - Estado: Habilitado Regla 3: LiveKit-WebRTC - Servicio: Custom - Puerto externo: 50000-50100 - Puerto interno: 50000-50100 - IP interna: 192.168.1.19 - Protocolo: UDP - Estado: Habilitado ``` ## 馃彔 IP Din谩mica - Soluci贸n con DuckDNS ### Si tu IP p煤blica cambia (t铆pico en casa): ```bash # 1. Crear cuenta en DuckDNS.org # 2. Crear subdominio: mi-livekit.duckdns.org # 3. Script de actualizaci贸n autom谩tica # /home/usuario/update-duckdns.sh #!/bin/bash echo url="https://www.duckdns.org/update?domains=mi-livekit&token=TU_TOKEN&ip=" | curl -k -o ~/duckdns.log -K - # Crontab para actualizar cada 5 minutos # crontab -e */5 * * * * /home/usuario/update-duckdns.sh >/dev/null 2>&1 ``` ### Configurar dominio en LiveKit: ```yaml # livekit-production.yaml rtc: external_ip: "mi-livekit.duckdns.org" # En lugar de IP ``` ## 馃敀 Certificado SSL autom谩tico con Let's Encrypt ```bash # Instalar certbot sudo apt install certbot # Generar certificado para tu dominio sudo certbot certonly --standalone -d mi-livekit.duckdns.org # Copiar certificados para Docker sudo cp /etc/letsencrypt/live/mi-livekit.duckdns.org/fullchain.pem ./ssl/cert.pem sudo cp /etc/letsencrypt/live/mi-livekit.duckdns.org/privkey.pem ./ssl/key.pem sudo chown $USER:$USER ./ssl/*.pem # Auto-renovaci贸n (crontab) 0 12 * * * /usr/bin/certbot renew --quiet && docker-compose restart nginx-livekit ``` ## 馃搳 Verificaci贸n de conectividad ### Tests externos: ```bash # Test puertos desde internet nmap -p 80,443,7880 mi-livekit.duckdns.org nmap -sU -p 50000-50010 mi-livekit.duckdns.org # Test WebSocket wscat -c wss://mi-livekit.duckdns.org # Test HTTPS curl -I https://mi-livekit.duckdns.org ``` ### URLs finales: - **LiveKit WSS**: `wss://mi-livekit.duckdns.org` - **API HTTP**: `https://mi-livekit.duckdns.org` - **Monitoreo**: `https://mi-livekit.duckdns.org/debug`