智能部署脚本:自动检测Redis,有则跳过无则创建
This commit is contained in:
38
source_clean/deploy.sh
Executable file
38
source_clean/deploy.sh
Executable 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
|
||||||
@@ -6,14 +6,14 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
ports: ["9527:9527"]
|
ports: ["9527:9527"]
|
||||||
environment:
|
environment:
|
||||||
CORS_ORIGIN: "https://zy.hk.timxx.cn"
|
REDIS_URL: ${REDIS_URL}
|
||||||
JWT_SECRET: "cloudsearch-jwt-secret-2024"
|
|
||||||
ADMIN_PASSWORD: "0nL5kLhMIJ1121PYmQb25A"
|
|
||||||
LOG_LEVEL: info
|
|
||||||
REDIS_URL: redis://redis:6379
|
|
||||||
PANSOU_URL: http://pansou:8888
|
PANSOU_URL: http://pansou:8888
|
||||||
|
CORS_ORIGIN: ${CORS_ORIGIN:-https://zy.hk.timxx.cn}
|
||||||
|
JWT_SECRET: ${JWT_SECRET:-cloudsearch-jwt-secret-2024}
|
||||||
|
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-0nL5kLhMIJ1121PYmQb25A}
|
||||||
|
LOG_LEVEL: ${LOG_LEVEL:-info}
|
||||||
volumes: ["cloudsearch-data:/app/data"]
|
volumes: ["cloudsearch-data:/app/data"]
|
||||||
depends_on: [redis, pansou]
|
depends_on: [pansou]
|
||||||
networks: [cloudsearch-net]
|
networks: [cloudsearch-net]
|
||||||
|
|
||||||
pansou:
|
pansou:
|
||||||
@@ -23,6 +23,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
cloudsearch-net: { aliases: [pansou] }
|
cloudsearch-net: { aliases: [pansou] }
|
||||||
|
|
||||||
|
# Redis — 仅当系统没有现成 Redis 时才启动
|
||||||
redis:
|
redis:
|
||||||
image: redis:7-alpine
|
image: redis:7-alpine
|
||||||
container_name: CloudSearch_Redis
|
container_name: CloudSearch_Redis
|
||||||
@@ -30,6 +31,7 @@ services:
|
|||||||
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
|
command: redis-server --appendonly yes --maxmemory 256mb --maxmemory-policy allkeys-lru
|
||||||
volumes: ["redis-data:/data"]
|
volumes: ["redis-data:/data"]
|
||||||
networks: [cloudsearch-net]
|
networks: [cloudsearch-net]
|
||||||
|
profiles: [full]
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
cloudsearch-data:
|
cloudsearch-data:
|
||||||
|
|||||||
Reference in New Issue
Block a user