TubeScript-API/docker-update-ytdlp.sh

98 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
# Script para actualizar yt-dlp en los contenedores sin rebuild completo
echo "═══════════════════════════════════════════════════════════"
echo " 🔄 Actualización Rápida de yt-dlp en Contenedores"
echo "═══════════════════════════════════════════════════════════"
echo ""
# Colores
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
print_success() {
echo -e "${GREEN}$1${NC}"
}
print_warning() {
echo -e "${YELLOW}⚠️ $1${NC}"
}
print_error() {
echo -e "${RED}$1${NC}"
}
# Verificar que los contenedores estén corriendo
echo "🔍 Verificando contenedores..."
if ! docker ps | grep -q streamlit_panel; then
print_warning "El contenedor streamlit_panel no está corriendo"
else
print_success "Contenedor streamlit_panel encontrado"
fi
if ! docker ps | grep -q tubescript_api; then
print_error "El contenedor tubescript_api no está corriendo"
echo "Inicia los contenedores con: docker-compose up -d"
exit 1
else
print_success "Contenedor tubescript_api encontrado"
fi
echo ""
# Actualizar yt-dlp en streamlit_panel si existe
if docker ps --format '{{.Names}}' | grep -q '^streamlit_panel$'; then
echo "📦 Actualizando yt-dlp en streamlit_panel..."
docker exec streamlit_panel pip install --upgrade yt-dlp
if [ $? -eq 0 ]; then
print_success "yt-dlp actualizado en streamlit_panel"
# Verificar versión
version=$(docker exec streamlit_panel python3 -c "import yt_dlp; print(yt_dlp.version.__version__)" 2>/dev/null)
if [ ! -z "$version" ]; then
echo " Versión instalada: $version"
fi
else
print_error "Error al actualizar yt-dlp en streamlit_panel"
fi
else
echo "streamlit_panel no encontrado — omitiendo actualización en Streamlit"
fi
echo ""
# Actualizar yt-dlp en tubescript_api
if docker ps --format '{{.Names}}' | grep -q '^tubescript_api$'; then
echo "📦 Actualizando yt-dlp en tubescript_api..."
docker exec tubescript_api pip install --upgrade yt-dlp
if [ $? -eq 0 ]; then
print_success "yt-dlp actualizado en tubescript_api"
# Verificar versión
version=$(docker exec tubescript_api python3 -c "import yt_dlp; print(yt_dlp.version.__version__)" 2>/dev/null)
if [ ! -z "$version" ]; then
echo " Versión instalada: $version"
fi
else
print_error "Error al actualizar yt-dlp en tubescript_api"
fi
else
echo "tubescript_api no encontrado — omitiendo actualización en API"
fi
echo ""
echo "═══════════════════════════════════════════════════════════"
print_success "Actualización completada"
echo "═══════════════════════════════════════════════════════════"
echo ""
echo "💡 Ahora puedes probar con un video en vivo en la API Docs:"
echo " http://localhost:8080/docs"
echo " Para obtener stream URL: curl http://localhost:8080/stream/VIDEO_ID"
echo ""