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