TubeScript-API/docker-rebuild.sh
2026-01-29 22:49:00 -07:00

112 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
# Script para reconstruir las imágenes Docker de TubeScript
set -e
echo "════════════════════════════════════════════════════════════"
echo " 🔨 TubeScript-API - Rebuild de Docker"
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 Docker
echo "🔍 Verificando Docker..."
if ! command -v docker &> /dev/null; then
print_error "Docker no está instalado"
exit 1
fi
if ! command -v docker-compose &> /dev/null; then
print_error "Docker Compose no está instalado"
exit 1
fi
print_success "Docker encontrado"
echo ""
# Detener contenedores
echo "🛑 Deteniendo contenedores existentes..."
docker-compose down 2>/dev/null || true
print_success "Contenedores detenidos"
echo ""
# Limpiar imágenes antiguas (opcional)
echo "🧹 ¿Deseas eliminar las imágenes antiguas? (s/N)"
read -p "> " clean_images
if [ "$clean_images" = "s" ] || [ "$clean_images" = "S" ]; then
echo "Eliminando imágenes antiguas..."
docker-compose down --rmi all 2>/dev/null || true
print_success "Imágenes antiguas eliminadas"
fi
echo ""
# Reconstruir sin cache
echo "🔨 Reconstruyendo imágenes sin cache..."
echo "Esto puede tardar varios minutos..."
echo ""
docker-compose build --no-cache
if [ $? -eq 0 ]; then
print_success "Imágenes reconstruidas exitosamente"
else
print_error "Error al reconstruir imágenes"
exit 1
fi
echo ""
# Preguntar si desea iniciar
echo "🚀 ¿Deseas iniciar los servicios ahora? (S/n)"
read -p "> " start_services
if [ "$start_services" != "n" ] && [ "$start_services" != "N" ]; then
echo ""
echo "🚀 Iniciando servicios..."
docker-compose up -d
if [ $? -eq 0 ]; then
print_success "Servicios iniciados"
echo ""
echo "📊 Estado de los servicios:"
sleep 3
docker-compose ps
echo ""
echo "════════════════════════════════════════════════════════════"
print_success "¡Rebuild completado!"
echo "════════════════════════════════════════════════════════════"
echo ""
echo "🌐 Servicios disponibles:"
echo " Panel Web: http://localhost:8501"
echo " API: http://localhost:8080"
echo ""
else
print_error "Error al iniciar servicios"
exit 1
fi
else
echo ""
print_success "Rebuild completado (servicios no iniciados)"
echo ""
echo "Para iniciar los servicios:"
echo " docker-compose up -d"
fi
echo "════════════════════════════════════════════════════════════"