feat: 添加Docker部署配置和文档
- 创建docker-compose.yml多容器编排配置 - 创建Dockerfile多阶段构建配置 - 创建nginx.conf反向代理和SSL配置 - 创建.env.example环境变量示例文件 - 创建setup-ssl.sh SSL证书配置脚本 - 创建deploy.sh自动化部署脚本 - 创建DEPLOYMENT.md详细部署文档 - 配置容器名称为novalon-website,版本1.0.0 - 配置端口映射80和443 - 配置Let's Encrypt免费SSL证书 - 配置域名novalon.cn,服务器IP 139.155.109.62 - 配置ICP备案号:蜀ICP备2026013658号
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
#!/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. 测试网站主要功能"
|
||||
Reference in New Issue
Block a user