BankliPlus/forserverbankli/solarbank/deploy-to-server.sh
2025-08-13 18:05:26 +02:00

79 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# SolarBank Deployment to Server Script
# Run this on your LOCAL machine to deploy to the server
SERVER_IP="172.105.69.178"
SERVER_USER="root"
SERVER_PASSWORD="6eqWiHHX4bNTPg"
echo "🚀 Deploying SolarBank IoT Dashboard to server..."
# Create deployment package excluding unnecessary files
echo "📦 Creating deployment package..."
tar --exclude='./frontend/node_modules' \
--exclude='./.git' \
--exclude='./backend/__pycache__' \
--exclude='./logs' \
--exclude='./backups' \
--exclude='*.pyc' \
--exclude='*.log' \
-czf solarbank-deploy.tar.gz .
echo "📤 Uploading files to server..."
scp solarbank-deploy.tar.gz root@$SERVER_IP:/tmp/
echo "🔧 Connecting to server and setting up..."
ssh root@$SERVER_IP << 'EOF'
# Update system
apt update && apt upgrade -y
# Install Docker and Docker Compose
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
rm get-docker.sh
# Install Docker Compose
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
# Install other required packages
apt install -y git curl wget htop ufw fail2ban
# Configure firewall
ufw --force reset
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
ufw --force enable
# Create application directory
mkdir -p /opt/solarbank
cd /opt/solarbank
# Extract application files
tar -xzf /tmp/solarbank-deploy.tar.gz
rm /tmp/solarbank-deploy.tar.gz
# Make scripts executable
chmod +x scripts/*.sh
echo "✅ Server setup completed!"
echo "📋 Next steps:"
echo "1. Configure your domain and environment variables"
echo "2. Run the deployment script"
EOF
echo "🎉 Upload completed! Now connect to your server to finish setup:"
echo "ssh root@$SERVER_IP"
echo "cd /opt/solarbank"
echo "cp environment.prod.example .env.prod"
echo "nano .env.prod # Edit with your values"
echo "./scripts/deploy.sh"
# Clean up local files
rm solarbank-deploy.tar.gz
echo "✅ Deployment script completed!"