66 lines
1.8 KiB
Bash
Executable File
66 lines
1.8 KiB
Bash
Executable File
#!/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" |