#!/bin/bash set -e SERVER_IP="139.155.109.62" SERVER_USER="root" DEPLOY_DIR="/home/novalon/docker-app" PROJECT_DIR="novalon-website" echo "🚀 开始部署Novalon网站到服务器 $SERVER_IP" echo "📁 部署目录: $DEPLOY_DIR" echo "🐳 容器名称: $PROJECT_DIR" echo "📦 版本号: 1.0.0" echo "" echo "📋 步骤1: 准备部署文件..." mkdir -p "$DEPLOY_DIR" chmod 755 "$DEPLOY_DIR" echo "✅ 部署目录已准备" echo "" echo "📋 步骤2: 上传部署文件..." scp -r docker-compose.yml Dockerfile nginx.conf .env.example setup-ssl.sh "$SERVER_USER@$SERVER_IP:$DEPLOY_DIR/" echo "✅ 部署文件已上传" echo "" echo "📋 步骤3: 在服务器上执行部署..." ssh "$SERVER_USER@$SERVER_IP" << 'ENDSSH' cd '$DEPLOY_DIR' echo "🔒 配置SSL证书..." chmod +x setup-ssl.sh ./setup-ssl.sh echo "📋 检查环境变量文件..." if [ ! -f .env ]; then echo "📝 创建.env文件..." cp .env.example .env echo "⚠️ 请编辑.env文件,填入正确的环境变量" echo "⚠️ 必须配置: DATABASE_URL, NEXTAUTH_SECRET, NEXTAUTH_URL, RESEND_API_KEY" exit 1 fi echo "🐳 启动Docker容器..." docker-compose down docker-compose pull docker-compose up -d echo "📋 等待服务启动..." sleep 10 echo "📋 检查容器状态..." docker ps | grep '$PROJECT_DIR' echo "📋 检查容器日志..." docker logs $PROJECT_DIR --tail 50 echo "✅ 部署完成!" ENDSSH echo "" echo "🎉 部署脚本执行完成!" echo "📋 访问地址:" echo " HTTP: http://$SERVER_IP" echo " HTTPS: https://$SERVER_IP" echo " 域名: https://novalon.cn" echo "" echo "📋 后续步骤:" echo " 1. 验证网站可访问性" echo " 2. 检查容器运行状态: docker ps" echo " 3. 查看容器日志: docker logs $PROJECT_DIR" echo " 4. 验证HTTPS配置" echo " 5. 测试网站主要功能"