#!/bin/bash # NextAuth 认证系统部署脚本 # 使用方法:bash deploy-auth.sh echo "🚀 开始部署 NextAuth 认证系统..." echo "" # 服务器信息 SERVER="root@45.249.208.118" REMOTE_DIR="/opt/flnxi-website" # 颜色定义 GREEN='\033[0;32m' BLUE='\033[0;34m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 步骤1:上传环境变量 echo -e "${BLUE}步骤 1/6: 配置环境变量...${NC}" ssh $SERVER "cd $REMOTE_DIR && cat > .env.local << 'EOF' NEXTAUTH_SECRET=kvYYTKxn3uR4WIaZIZdRmf+VzHP/WufQM4db5Agw7pQ= NEXTAUTH_URL=https://scs.flnxi.com EOF" echo -e "${GREEN}✅ 环境变量已配置${NC}" echo "" # 步骤2:上传 NextAuth API 路由 echo -e "${BLUE}步骤 2/6: 上传 API 路由...${NC}" scp -r app/api/auth $SERVER:$REMOTE_DIR/app/api/ echo -e "${GREEN}✅ API 路由已上传${NC}" echo "" # 步骤3:上传 SessionProvider 组件 echo -e "${BLUE}步骤 3/6: 上传组件文件...${NC}" scp components/SessionProvider.tsx $SERVER:$REMOTE_DIR/components/ scp components/Header.tsx $SERVER:$REMOTE_DIR/components/ echo -e "${GREEN}✅ 组件文件已上传${NC}" echo "" # 步骤4:上传登录页面 echo -e "${BLUE}步骤 4/6: 上传登录页面...${NC}" ssh $SERVER "mkdir -p $REMOTE_DIR/app/auth/signin" scp app/auth/signin/page.tsx $SERVER:$REMOTE_DIR/app/auth/signin/ echo -e "${GREEN}✅ 登录页面已上传${NC}" echo "" # 步骤5:上传 Layout echo -e "${BLUE}步骤 5/6: 上传 Layout...${NC}" scp app/layout.tsx $SERVER:$REMOTE_DIR/app/ scp package.json $SERVER:$REMOTE_DIR/ echo -e "${GREEN}✅ Layout 已上传${NC}" echo "" # 步骤6:重新构建并启动 echo -e "${BLUE}步骤 6/6: 重新构建 Docker 容器...${NC}" ssh $SERVER "cd $REMOTE_DIR && docker-compose down && docker-compose up -d --build" echo -e "${GREEN}✅ Docker 容器已重新构建并启动${NC}" echo "" echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" echo -e "${GREEN}🎉 部署完成!${NC}" echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}" echo "" echo -e "${YELLOW}📝 测试步骤:${NC}" echo "1. 访问:https://scs.flnxi.com" echo "2. 点击右上角【登录】按钮" echo "3. 使用演示账户登录:" echo " 邮箱:admin@flnxi.com" echo " 密码:123456" echo "" echo -e "${YELLOW}📌 注意事项:${NC}" echo "• 演示账户是硬编码在代码中的" echo "• 实际使用时需要连接数据库" echo "• 可以配置 Google/GitHub 第三方登录" echo ""