Add Baota panel Docker setup guide and scripts
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
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
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
104
deploy/scripts/baota-setup.sh
Normal file
104
deploy/scripts/baota-setup.sh
Normal file
@@ -0,0 +1,104 @@
|
||||
#!/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 ""
|
||||
72
deploy/scripts/pull-images.sh
Normal file
72
deploy/scripts/pull-images.sh
Normal file
@@ -0,0 +1,72 @@
|
||||
#!/bin/bash
|
||||
# 拉取私有 Registry 镜像脚本
|
||||
# 用途:在服务器上拉取 Docker 镜像
|
||||
|
||||
set -e
|
||||
|
||||
# 读取配置(如果存在)
|
||||
if [ -f ".registry-config" ]; then
|
||||
source <(grep -E '^[^#]*=' .registry-config | sed 's/^/export /')
|
||||
fi
|
||||
|
||||
# 默认配置
|
||||
REGISTRY_URL="${REGISTRY_URL:-git.quanyu360.cn}"
|
||||
REGISTRY_USER="${REGISTRY_USERNAME:-admin}"
|
||||
REGISTRY_PASS="${REGISTRY_PASSWORD:-ye972030}"
|
||||
NAMESPACE="${REGISTRY_NAMESPACE:-wecom-ai}"
|
||||
BACKEND_IMAGE="${BACKEND_IMAGE_NAME:-wecom-ai-backend}"
|
||||
ADMIN_IMAGE="${ADMIN_IMAGE_NAME:-wecom-ai-admin}"
|
||||
IMAGE_TAG="${IMAGE_TAG:-latest}"
|
||||
|
||||
echo "=== 拉取私有 Registry 镜像 ==="
|
||||
echo ""
|
||||
echo "Registry: $REGISTRY_URL"
|
||||
echo "命名空间: $NAMESPACE"
|
||||
echo "标签: $IMAGE_TAG"
|
||||
echo ""
|
||||
|
||||
# 登录 Registry
|
||||
echo "1. 登录 Docker Registry..."
|
||||
echo "$REGISTRY_PASS" | docker login "$REGISTRY_URL" -u "$REGISTRY_USER" --password-stdin
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "✗ 登录失败"
|
||||
exit 1
|
||||
fi
|
||||
echo "✓ 登录成功"
|
||||
echo ""
|
||||
|
||||
# 拉取 Backend 镜像
|
||||
echo "2. 拉取 Backend 镜像..."
|
||||
BACKEND_FULL="${REGISTRY_URL}/${NAMESPACE}/${BACKEND_IMAGE}:${IMAGE_TAG}"
|
||||
echo " 镜像: $BACKEND_FULL"
|
||||
docker pull "$BACKEND_FULL"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✓ Backend 镜像拉取成功"
|
||||
else
|
||||
echo "✗ Backend 镜像拉取失败"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 拉取 Admin 镜像
|
||||
echo "3. 拉取 Admin 镜像..."
|
||||
ADMIN_FULL="${REGISTRY_URL}/${NAMESPACE}/${ADMIN_IMAGE}:${IMAGE_TAG}"
|
||||
echo " 镜像: $ADMIN_FULL"
|
||||
docker pull "$ADMIN_FULL"
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✓ Admin 镜像拉取成功"
|
||||
else
|
||||
echo "⚠ Admin 镜像拉取失败(可能不存在,继续)"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 显示已拉取的镜像
|
||||
echo "4. 已拉取的镜像:"
|
||||
docker images | grep "$REGISTRY_URL" || echo " 无"
|
||||
echo ""
|
||||
|
||||
echo "=== 完成 ==="
|
||||
echo ""
|
||||
echo "可以使用以下命令启动服务:"
|
||||
echo " docker-compose -f docker-compose.prod.yml --env-file .env.prod up -d"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user