#!/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