#!/usr/bin/env bash set -e # ===== 斗鱼批量登录 Docker 部署脚本 ===== ROOT_DIR="$(cd "$(dirname "$0")" && pwd)" cd "$ROOT_DIR" echo "" echo "==============================" echo " 斗鱼批量登录 - Docker 部署" echo "==============================" # 检查 Docker if ! command -v docker &> /dev/null; then echo "❌ 未安装 Docker,请先安装:" echo " curl -fsSL https://get.docker.com | sh" exit 1 fi # 检查 docker compose if docker compose version &> /dev/null; then COMPOSE="docker compose" elif command -v docker-compose &> /dev/null; then COMPOSE="docker-compose" else echo "❌ 未安装 docker compose,请先安装 Docker Compose" exit 1 fi echo " 使用: $COMPOSE" echo "" # 创建数据和日志目录 mkdir -p data logs # 构建并启动 echo "正在构建镜像(首次构建约3-5分钟)..." $COMPOSE build echo "" echo "正在启动服务..." $COMPOSE up -d echo "" echo "等待服务启动..." sleep 3 # 健康检查 for i in $(seq 1 10); do if curl -s http://localhost:8000/api/health | grep -q "ok" 2>/dev/null; then echo "" echo "==============================" echo " ✅ 部署成功!" echo "==============================" echo " 访问地址: http://localhost:8000" echo " 默认账号见环境变量 ADMIN_USERNAME/ADMIN_PASSWORD(未设置则为 admin/admin123)" echo "" echo " 查看日志: $COMPOSE logs -f" echo " 停止服务: $COMPOSE down" echo " 重启服务: $COMPOSE restart" echo "==============================" exit 0 fi echo " 等待中... ($i/10)" sleep 2 done echo "" echo "❌ 服务启动超时,查看日志:" $COMPOSE logs --tail 30 exit 1