68 lines
1.8 KiB
Bash
Executable File
68 lines
1.8 KiB
Bash
Executable File
#!/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 ""
|
|
|