#!/bin/bash # FLNXI Website Deployment Script # Target Server: 45.249.208.118 set -e SERVER_IP="45.249.208.118" SERVER_USER="root" REMOTE_DIR="/opt/flnxi-website" PROJECT_NAME="flnxi-website" echo "🚀 Starting deployment to $SERVER_IP..." # 1. Create remote directory echo "📁 Creating remote directory..." ssh ${SERVER_USER}@${SERVER_IP} "mkdir -p ${REMOTE_DIR}" # 2. Copy project files to server echo "📤 Uploading project files..." rsync -avz --exclude 'node_modules' \ --exclude '.next' \ --exclude '.git' \ --exclude '*.log' \ ./ ${SERVER_USER}@${SERVER_IP}:${REMOTE_DIR}/ # 3. Build and run Docker container on server echo "🐳 Building and starting Docker container..." ssh ${SERVER_USER}@${SERVER_IP} << 'ENDSSH' cd /opt/flnxi-website # Check if Docker is installed if ! command -v docker &> /dev/null; then echo "Installing Docker..." curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh systemctl start docker systemctl enable docker fi # Check if Docker Compose is installed if ! command -v docker-compose &> /dev/null; then echo "Installing 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 fi # Stop and remove old container if exists docker-compose down 2>/dev/null || true docker rm -f flnxi-website-web-1 2>/dev/null || true # Build and start new container docker-compose up -d --build # Show logs echo "📊 Container status:" docker-compose ps echo "✅ Deployment completed!" echo "🌐 Website is running at: http://45.249.208.118:3000" ENDSSH echo "" echo "✅ Deployment successful!" echo "🌐 Access your website at: http://45.249.208.118:3000" echo ""