Files
wecom-ai-assistant/deploy/scripts/baota-setup.sh
bujie9527 9c0f6153b8
Some checks failed
Build and Deploy / test-backend (push) Has been cancelled
Build and Deploy / build-backend (push) Has been cancelled
Build and Deploy / build-admin (push) Has been cancelled
Deploy to Production / build-backend (push) Has been cancelled
Deploy to Production / deploy (push) Has been cancelled
Add Baota panel Docker setup guide and scripts
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-05 21:31:25 +08:00

105 lines
2.9 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# 宝塔面板一键部署脚本
# 用途:在宝塔面板服务器上快速部署项目
set -e
PROJECT_DIR="/www/wwwroot/wecom-ai-assistant"
REGISTRY_URL="git.quanyu360.cn"
REGISTRY_USER="admin"
REGISTRY_PASS="ye972030"
echo "=== 宝塔面板一键部署 ==="
echo ""
# 检查 Docker 是否安装
if ! command -v docker &> /dev/null; then
echo "错误: Docker 未安装"
echo "请在宝塔面板中安装 Docker"
exit 1
fi
# 检查 docker-compose 是否安装
if ! command -v docker-compose &> /dev/null && ! docker compose version &> /dev/null; then
echo "警告: docker-compose 未安装,尝试安装..."
# 尝试安装 docker-compose
pip3 install docker-compose 2>/dev/null || {
echo "请手动安装 docker-compose"
exit 1
}
fi
# 创建项目目录
echo "1. 创建项目目录..."
mkdir -p "$PROJECT_DIR"
cd "$PROJECT_DIR"
echo "✓ 目录已创建: $PROJECT_DIR"
echo ""
# 登录 Docker Registry
echo "2. 登录 Docker Registry..."
echo "$REGISTRY_PASS" | docker login "$REGISTRY_URL" -u "$REGISTRY_USER" --password-stdin
echo "✓ 登录成功"
echo ""
# 检查项目文件是否存在
if [ ! -f "docker-compose.prod.yml" ]; then
echo "3. 项目文件不存在,请:"
echo " - 使用 Git 克隆项目,或"
echo " - 使用宝塔文件管理器上传项目文件"
echo ""
echo "Git 克隆命令:"
echo " cd $PROJECT_DIR"
echo " git clone https://admin:ye972030@git.quanyu360.cn/admin/wecom-ai-assistant.git ."
echo ""
exit 1
fi
# 检查环境变量文件
if [ ! -f ".env.prod" ]; then
echo "3. 创建环境变量文件..."
if [ -f ".env.prod.example" ]; then
cp .env.prod.example .env.prod
echo "✓ 已创建 .env.prod请编辑填写实际配置"
else
echo "⚠ .env.prod.example 不存在,请手动创建 .env.prod"
fi
echo ""
fi
# 拉取镜像
echo "4. 拉取 Docker 镜像..."
if [ -f "deploy/scripts/pull-images.sh" ]; then
chmod +x deploy/scripts/pull-images.sh
./deploy/scripts/pull-images.sh
else
echo " 拉取 Backend 镜像..."
docker pull ${REGISTRY_URL}/wecom-ai/wecom-ai-backend:latest || echo " ⚠ Backend 镜像拉取失败"
echo " 拉取 Admin 镜像..."
docker pull ${REGISTRY_URL}/wecom-ai/wecom-ai-admin:latest || echo " ⚠ Admin 镜像拉取失败"
fi
echo ""
# 启动服务
echo "5. 启动服务..."
if command -v docker-compose &> /dev/null; then
DOCKER_COMPOSE_CMD="docker-compose"
else
DOCKER_COMPOSE_CMD="docker compose"
fi
$DOCKER_COMPOSE_CMD -f docker-compose.prod.yml --env-file .env.prod up -d
echo ""
# 检查服务状态
echo "6. 服务状态:"
$DOCKER_COMPOSE_CMD -f docker-compose.prod.yml ps
echo ""
echo "=== 部署完成 ==="
echo ""
echo "项目目录: $PROJECT_DIR"
echo "查看日志: cd $PROJECT_DIR && $DOCKER_COMPOSE_CMD -f docker-compose.prod.yml logs -f"
echo "停止服务: cd $PROJECT_DIR && $DOCKER_COMPOSE_CMD -f docker-compose.prod.yml down"
echo ""