═══════════════════════════════════════════════════════════════════ 🐳 TubeScript-API con Docker - Comandos Esenciales ═══════════════════════════════════════════════════════════════════ 📋 INICIO RÁPIDO ─────────────────────────────────────────────────────────────────── # Primera vez: dar permisos chmod +x docker-start.sh docker-stop.sh docker-logs.sh # Iniciar servicios (FastAPI + Streamlit) ./docker-start.sh # Abrir panel web http://localhost:8501 ═══════════════════════════════════════════════════════════════════ 🌐 URLS DE ACCESO ─────────────────────────────────────────────────────────────────── Panel Web (Streamlit): → http://localhost:8501 API REST (FastAPI): → http://localhost:8080 Documentación API (Swagger): → http://localhost:8080/docs ═══════════════════════════════════════════════════════════════════ 🛠️ COMANDOS DE GESTIÓN ─────────────────────────────────────────────────────────────────── # Ver logs en tiempo real ./docker-logs.sh # Ver logs de un servicio específico docker-compose logs -f streamlit-panel docker-compose logs -f tubescript-api # Ver estado de servicios docker-compose ps # Reiniciar servicios docker-compose restart # Reiniciar un servicio específico docker-compose restart streamlit-panel # Detener servicios ./docker-stop.sh # O manualmente docker-compose down ═══════════════════════════════════════════════════════════════════ 🔧 COMANDOS DE MANTENIMIENTO ─────────────────────────────────────────────────────────────────── # Reconstruir imágenes (después de cambiar código) docker-compose build # Reconstruir sin cache docker-compose build --no-cache # Reiniciar con nueva imagen docker-compose up -d --build # Acceder al shell del contenedor docker exec -it streamlit_panel bash docker exec -it tubescript_api bash # Ver recursos usados (CPU, memoria) docker stats ═══════════════════════════════════════════════════════════════════ 🐛 SOLUCIÓN DE PROBLEMAS ─────────────────────────────────────────────────────────────────── # Puerto ocupado lsof -i :8501 # Ver qué usa el puerto kill -9 # Matar el proceso # Ver errores detallados docker-compose logs streamlit-panel docker-compose logs tubescript-api # Limpiar y empezar de nuevo docker-compose down -v docker system prune -a ./docker-start.sh # Verificar que FFmpeg funciona docker exec streamlit_panel ffmpeg -version ═══════════════════════════════════════════════════════════════════ 📊 VERIFICACIÓN ─────────────────────────────────────────────────────────────────── # Después de ./docker-start.sh, verificar: docker-compose ps # Debe mostrar: # streamlit_panel Up (healthy) # tubescript_api Up (healthy) # Probar servicios curl http://localhost:8501 # Panel web curl http://localhost:8080/docs # API docs ═══════════════════════════════════════════════════════════════════ 🎯 FLUJO DE USO ─────────────────────────────────────────────────────────────────── 1. Iniciar Docker: ./docker-start.sh 2. Abrir panel: http://localhost:8501 3. Configurar plataformas: Barra lateral → Ingresar RTMP y Stream Key → Guardar 4. Buscar video: Pestaña 🔍 → Buscar o pegar URL 5. Ver URL m3u8: Pestaña 🎛️ → Expander "Ver URL m3u8" 6. Iniciar transmisiones: Click ▶️ en cada plataforma 7. Monitorear: Pestaña 📊 → Ver estado 🟢🔴⚫ 8. Detener: ./docker-stop.sh ═══════════════════════════════════════════════════════════════════ 📚 DOCUMENTACIÓN ─────────────────────────────────────────────────────────────────── DOCKER_README.md - Inicio rápido con Docker DOCKER_GUIDE.md - Guía completa de Docker README.md - Documentación general QUICKSTART.md - Setup y configuración M3U8_STREAMING.md - Info sobre streaming m3u8 VISUAL_GUIDE.md - Guía visual del panel ═══════════════════════════════════════════════════════════════════ ✅ ARCHIVOS IMPORTANTES ─────────────────────────────────────────────────────────────────── Dockerfile - Imagen Docker docker-compose.yml - Orquestación de servicios .dockerignore - Optimización de build docker-start.sh - Script de inicio docker-stop.sh - Script para detener docker-logs.sh - Script para logs ═══════════════════════════════════════════════════════════════════ 🚀 CARACTERÍSTICAS ─────────────────────────────────────────────────────────────────── ✅ FastAPI Backend (puerto 8080) ✅ Streamlit Frontend (puerto 8501) ✅ FFmpeg incluido en imagen ✅ Health checks automáticos ✅ Auto-restart si falla ✅ Red compartida entre servicios ✅ Volúmenes persistentes ✅ Scripts de gestión ═══════════════════════════════════════════════════════════════════ 💡 TIPS ─────────────────────────────────────────────────────────────────── • Los archivos de configuración (stream_config.json, streams_state.json) se comparten entre contenedores y tu sistema local. • Los logs se guardan automáticamente y puedes verlos con ./docker-logs.sh • Si cambias código en main.py o streamlit_app.py, reconstruye con: docker-compose build • Los servicios se reinician automáticamente si fallan • Usa docker-compose ps para ver el estado de salud ═══════════════════════════════════════════════════════════════════ 🎉 ¡LISTO PARA USAR! ─────────────────────────────────────────────────────────────────── ./docker-start.sh Panel Web: http://localhost:8501 API: http://localhost:8080 Docs: http://localhost:8080/docs ¡Transmite a múltiples plataformas! 📺🚀 ═══════════════════════════════════════════════════════════════════