#!/bin/bash # SolarBank Auto-Deploy Script # This script automates the deployment process as much as possible echo "🚀 Starting SolarBank Auto-Deployment..." echo "========================================" # Server details SERVER_IP="172.104.237.108" SERVER_USER="root" SERVER_PASS="6eqWiHHX4bNTPg" # Check if sshpass is installed if ! command -v sshpass &> /dev/null; then echo "Installing sshpass for automated deployment..." if command -v apt &> /dev/null; then sudo apt update && sudo apt install -y sshpass elif command -v yum &> /dev/null; then sudo yum install -y sshpass elif command -v pacman &> /dev/null; then sudo pacman -S --noconfirm sshpass else echo "❌ Could not install sshpass. Please install it manually or use manual deployment." echo "" echo "Manual deployment command:" echo "scp solarbank-deployment.tar.gz .env.prod.ip server-deploy-ip.sh docker-compose.prod.nossl.yml root@${SERVER_IP}:/tmp/" exit 1 fi fi echo "📦 Uploading files to server..." sshpass -p "${SERVER_PASS}" scp -o StrictHostKeyChecking=no \ solarbank-deployment.tar.gz \ .env.prod.ip \ server-deploy-ip.sh \ docker-compose.prod.nossl.yml \ verify-deployment.sh \ monitor-deployment.sh \ root@${SERVER_IP}:/tmp/ if [ $? -eq 0 ]; then echo "✅ Files uploaded successfully!" else echo "❌ Upload failed. Please check your connection and try manual deployment." exit 1 fi echo "🔧 Connecting to server and starting deployment..." sshpass -p "${SERVER_PASS}" ssh -o StrictHostKeyChecking=no root@${SERVER_IP} << 'ENDSSH' cd /tmp chmod +x server-deploy-ip.sh monitor-deployment.sh verify-deployment.sh echo "Starting deployment script..." ./server-deploy-ip.sh ENDSSH echo "" echo "========================================" echo "✅ Deployment initiated!" echo "========================================" echo "" echo "Your SolarBank IoT Dashboard will be available at:" echo "🌐 Frontend: http://${SERVER_IP}" echo "📡 API: http://${SERVER_IP}/api" echo "📚 API Docs: http://${SERVER_IP}/api/docs" echo "" echo "Default credentials:" echo "📧 Username: admin@solarbank.com" echo "🔑 Password: admin123" echo "" echo "To monitor deployment progress, SSH to server and run:" echo "ssh root@${SERVER_IP}" echo "/tmp/monitor-deployment.sh"