#!/bin/bash set -e echo "🚀 PREPARANDO DEPLOY PARA EASYPANEL" echo "===================================" # 1. Crear directorio ssl echo "1. Creando estructura de directorios..." mkdir -p ssl logs # 2. Crear certificados dummy (EasyPanel los reemplazará) echo "2. Creando certificados dummy..." if [ ! -f ssl/cert.pem ]; then openssl req -x509 -nodes -days 365 -newkey rsa:2048 \ -keyout ssl/key.pem \ -out ssl/cert.pem \ -subj "/C=US/ST=State/L=City/O=Organization/CN=localhost" 2>/dev/null || \ echo "⚠️ OpenSSL no disponible - EasyPanel manejará SSL" fi # 3. Crear .dockerignore echo "3. Optimizando build..." cat > .dockerignore << 'EOF' node_modules .git .env* *.log logs/ ssl/ *.md .vscode .idea dist coverage .nyc_output EOF # 4. Verificar archivos necesarios echo "4. Verificando archivos..." REQUIRED_FILES=( "Dockerfile" "docker-compose.yml" "nginx.conf" ".env.production" ) for file in "${REQUIRED_FILES[@]}"; do if [ -f "$file" ]; then echo " ✅ $file" else echo " ❌ $file - FALTANTE" exit 1 fi done # 5. Test de build local (opcional) echo "5. ¿Quieres probar el build localmente? (y/n)" read -r TEST_BUILD if [ "$TEST_BUILD" = "y" ] || [ "$TEST_BUILD" = "Y" ]; then echo "Construyendo imagen de prueba..." docker build -t openvidu-meet-test . || { echo "❌ Error en el build - revisar Dockerfile" exit 1 } echo "✅ Build exitoso" fi echo "" echo "🎉 PREPARACIÓN COMPLETADA" echo "=========================" echo "" echo "📋 PASOS PARA EASYPANEL:" echo "" echo "1. Crear nuevo proyecto en EasyPanel" echo "2. Conectar repositorio Git" echo "3. Configurar variables de entorno:" echo " - Copiar contenido de .env.production" echo " - Ajustar LIVEKIT_URL y secrets" echo "" echo "4. Configurar build:" echo " - Dockerfile: ./Dockerfile" echo " - Puerto: 80 (nginx) o 6080 (directo)" echo "" echo "5. Configurar dominio y SSL en EasyPanel" echo "" echo "📁 ARCHIVOS LISTOS:" echo " ✅ Dockerfile (multi-stage optimizado)" echo " ✅ docker-compose.yml (con nginx proxy)" echo " ✅ nginx.conf (configuración completa)" echo " ✅ .env.production (variables de ejemplo)" echo "" echo "🔗 URLs después del deploy:" echo " • Admin: https://tu-dominio.com" echo " • API: https://tu-dominio.com/api/" echo " • Health: https://tu-dominio.com/nginx-health" echo "" echo "👤 Login por defecto:" echo " • Usuario: admin" echo " • Contraseña: [configurar en ADMIN_PASSWORD]"