73 lines
2.3 KiB
Bash
Executable File
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" |