#!/bin/bash # Script tự động deploy và fix bcrypt trên server # Usage: ./deploy.sh SERVER="root@senaai.tech" PROJECT_PATH="/var/www/services/sena_db_api" echo "════════════════════════════════════════════════════════" echo " 🚀 Auto Deploy & Fix Bcrypt Script" echo " Server: $SERVER" echo " Path: $PROJECT_PATH" echo "════════════════════════════════════════════════════════" echo "" # Execute commands on remote server ssh $SERVER << 'ENDSSH' set -e # Exit on error echo "📁 Navigating to project directory..." cd /var/www/services/sena_db_api echo "" echo "🔧 Rebuilding bcrypt module..." npm rebuild bcrypt --build-from-source echo "" echo "🔄 Rebuilding all native modules..." npm rebuild echo "" echo "📂 Creating logs directory..." mkdir -p logs echo "" echo "✅ Build completed successfully!" echo "" echo "════════════════════════════════════════════════════════" echo " PM2 Status:" echo "════════════════════════════════════════════════════════" pm2 list echo "" echo "Do you want to restart PM2 processes? (y/n)" read -r response if [[ "$response" =~ ^([yY][eE][sS]|[yY])$ ]]; then echo "" echo "🔄 Restarting PM2 processes..." pm2 restart all 2>/dev/null || pm2 start start.json echo "" echo "✅ PM2 processes restarted!" echo "" pm2 list else echo "" echo "⏭️ Skipped PM2 restart" fi echo "" echo "════════════════════════════════════════════════════════" echo " ✅ Deployment completed!" echo "════════════════════════════════════════════════════════" ENDSSH echo "" echo "Done! Check the output above for any errors."