77 lines
1.8 KiB
Bash
Executable File
77 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# qBittorrent 管理平台部署脚本
|
|
|
|
set -e
|
|
|
|
echo "🚀 开始部署 qBittorrent 管理平台..."
|
|
|
|
# 检查 Docker 和 Docker Compose 是否安装
|
|
if ! command -v docker &> /dev/null; then
|
|
echo "❌ Docker 未安装,请先安装 Docker"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v docker-compose &> /dev/null; then
|
|
echo "❌ Docker Compose 未安装,请先安装 Docker Compose"
|
|
exit 1
|
|
fi
|
|
|
|
# 创建数据目录
|
|
echo "📁 创建数据目录..."
|
|
mkdir -p data
|
|
|
|
# 停止现有容器(如果存在)
|
|
echo "🛑 停止现有容器..."
|
|
docker-compose down --remove-orphans || true
|
|
|
|
# 构建并启动服务
|
|
echo "🔨 构建并启动服务..."
|
|
docker-compose up --build -d
|
|
|
|
# 等待服务启动
|
|
echo "⏳ 等待服务启动..."
|
|
sleep 10
|
|
|
|
# 检查服务状态
|
|
echo "🔍 检查服务状态..."
|
|
docker-compose ps
|
|
|
|
# 检查后端健康状态
|
|
echo "🏥 检查后端健康状态..."
|
|
for i in {1..30}; do
|
|
if curl -f http://localhost:8080/api/health &> /dev/null; then
|
|
echo "✅ 后端服务启动成功!"
|
|
break
|
|
fi
|
|
if [ $i -eq 30 ]; then
|
|
echo "❌ 后端服务启动失败,请检查日志"
|
|
docker-compose logs backend
|
|
exit 1
|
|
fi
|
|
sleep 2
|
|
done
|
|
|
|
# 检查前端
|
|
echo "🌐 检查前端服务..."
|
|
if curl -f http://localhost:8080 &> /dev/null; then
|
|
echo "✅ 前端服务启动成功!"
|
|
else
|
|
echo "❌ 前端服务启动失败,请检查日志"
|
|
docker-compose logs frontend
|
|
exit 1
|
|
fi
|
|
|
|
echo ""
|
|
echo "🎉 部署完成!"
|
|
echo ""
|
|
echo "📱 访问地址: http://localhost:8080"
|
|
echo "🔧 管理命令:"
|
|
echo " 查看日志: docker-compose logs -f"
|
|
echo " 停止服务: docker-compose down"
|
|
echo " 重启服务: docker-compose restart"
|
|
echo " 更新服务: ./deploy.sh"
|
|
echo ""
|
|
echo "📊 服务状态:"
|
|
docker-compose ps
|