智能部署脚本:自动检测Redis,有则跳过无则创建

This commit is contained in:
2026-05-18 06:03:09 +08:00
parent 8da99d6861
commit d7c2a9cfad
2 changed files with 46 additions and 6 deletions

38
source_clean/deploy.sh Executable file
View File

@@ -0,0 +1,38 @@
#!/bin/bash
set -e
echo "🔍 检测 Redis..."
# 查找当前 docker-compose 网络内或全局已运行的 Redis 容器
EXISTING_REDIS=$(docker ps --format '{{.Names}}' | grep -i redis | head -1)
if [ -n "$EXISTING_REDIS" ]; then
# 检查它是否已在 cloudsearch-net 网络中
if docker network inspect cloudsearch-net --format '{{range .Containers}}{{.Name}} {{end}}' 2>/dev/null | grep -qw "$EXISTING_REDIS"; then
echo "✅ 已有 Redis: $EXISTING_REDIS (已加入 cloudsearch-net),跳过创建"
else
echo "✅ 已有 Redis: $EXISTING_REDIS,正在加入网络..."
docker network connect cloudsearch-net "$EXISTING_REDIS" 2>/dev/null || true
echo " ✅ 已加入 cloudsearch-net"
fi
REDIS_HOST="$EXISTING_REDIS"
PROFILE=""
else
echo "📦 未检测到 Redis将自动创建..."
REDIS_HOST="CloudSearch_Redis"
PROFILE="--profile full"
fi
echo "REDIS_URL=redis://${REDIS_HOST}:6379" > .env
echo "CORS_ORIGIN=https://zy.hk.timxx.cn" >> .env
echo "JWT_SECRET=cloudsearch-jwt-secret-2024" >> .env
echo "ADMIN_PASSWORD=0nL5kLhMIJ1121PYmQb25A" >> .env
echo "LOG_LEVEL=info" >> .env
echo ""
echo "🚀 启动服务..."
docker compose $PROFILE up -d
echo ""
echo "✅ 部署完成"
docker compose ps