#!/bin/bash # NewAPI 本地构建和部署脚本 echo "🚀 开始构建 NewAPI 本地版本..." # 检查是否存在 docker-compose if ! command -v docker-compose &> /dev/null; then echo "❌ docker-compose 未安装,请先安装 Docker Compose" exit 1 fi # 停止现有容器 echo "🛑 停止现有容器..." docker-compose -f docker-compose.local.yml down # 清理旧镜像(可选) read -p "是否要清理旧的镜像?(y/N): " -n 1 -r echo if [[ $REPLY =~ ^[Yy]$ ]]; then echo "🧹 清理旧镜像..." docker image prune -f docker rmi $(docker images | grep "api_new-api" | awk '{print $3}') 2>/dev/null || true fi # 构建新镜像 echo "🔨 构建新镜像..." docker-compose -f docker-compose.local.yml build --no-cache # 启动服务 echo "🚀 启动服务..." docker-compose -f docker-compose.local.yml up -d # 检查服务状态 echo "⏳ 等待服务启动..." sleep 10 # 检查容器状态 echo "📊 检查容器状态..." docker-compose -f docker-compose.local.yml ps # 检查服务是否可访问 echo "🔍 检查服务可访问性..." if curl -s http://localhost:3000/api/status > /dev/null; then echo "✅ NewAPI 服务启动成功!" echo "🌐 访问地址: http://localhost:3000" else echo "❌ 服务启动失败,请检查日志:" docker-compose -f docker-compose.local.yml logs new-api fi echo "📋 查看日志命令: docker-compose -f docker-compose.local.yml logs -f new-api" echo "🛑 停止服务命令: docker-compose -f docker-compose.local.yml down"