#!/bin/bash # Script de despliegue para Coolify # Este script se ejecuta cuando Coolify despliega la aplicación set -e echo "🚀 Iniciando despliegue de Suite Logs..." # Verificar que Docker Compose esté disponible if ! command -v docker-compose &> /dev/null; then echo "❌ Docker Compose no está instalado" exit 1 fi # Verificar que el archivo docker-compose.yml existe if [ ! -f "docker-compose.yml" ]; then echo "❌ No se encuentra docker-compose.yml" exit 1 fi # Detener servicios existentes echo "⏹️ Deteniendo servicios existentes..." docker-compose down --remove-orphans || true # Limpiar imágenes antiguas echo "🧹 Limpiando imágenes antiguas..." docker image prune -f || true # Descargar nuevas imágenes echo "📥 Descargando nuevas imágenes..." docker-compose pull # Crear directorios necesarios si no existen echo "📁 Verificando directorios..." mkdir -p config/{prometheus,loki,tempo,alloy,grafana/provisioning} # Iniciar servicios echo "▶️ Iniciando servicios..." docker-compose up -d # Verificar que los servicios estén corriendo echo "🔍 Verificando servicios..." sleep 10 # Health checks services=("prometheus:9090" "loki:3100" "tempo:3200" "alloy:12345" "grafana:3500") for service in "${services[@]}"; do name=${service%%:*} port=${service##*:} if docker-compose ps | grep -q "$name.*Up"; then echo "✅ $name está corriendo" else echo "❌ $name no está corriendo" docker-compose logs "$name" exit 1 fi done echo "🎉 Despliegue completado exitosamente!" echo "📊 Grafana: http://localhost:3500 (credenciales en .env)" echo "📈 Prometheus: http://localhost:9090" echo "📝 Loki: http://localhost:3100" echo "🔍 Tempo: http://localhost:3200" echo "🔧 Alloy: http://localhost:12345"