BankliPlus/temparea/solarbank/auto-deploy.sh
2025-08-13 18:05:26 +02:00

73 lines
2.3 KiB
Bash
Executable File

#!/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"