111 lines
2.6 KiB
Bash
Executable File
111 lines
2.6 KiB
Bash
Executable File
#!/bin/bash
|
||
|
||
echo "=== 直接修复 docker-compose.yml ==="
|
||
echo
|
||
|
||
DEPLOY_DIR="/root/server/archive"
|
||
COMPOSE_FILE="$DEPLOY_DIR/docker-compose.yml"
|
||
|
||
if [ ! -f "$COMPOSE_FILE" ]; then
|
||
echo "❌ docker-compose.yml 文件不存在"
|
||
echo "正在重新部署..."
|
||
./archive-manager.sh deploy -f
|
||
exit 0
|
||
fi
|
||
|
||
echo "📋 当前文件内容(前20行):"
|
||
head -20 "$COMPOSE_FILE"
|
||
|
||
echo
|
||
echo "🔧 重新生成正确的 docker-compose.yml..."
|
||
|
||
# 备份原文件
|
||
cp "$COMPOSE_FILE" "$COMPOSE_FILE.backup"
|
||
|
||
# 生成正确的 docker-compose.yml
|
||
cat > "$COMPOSE_FILE" << 'EOF'
|
||
version: '3.8'
|
||
|
||
services:
|
||
# 主应用服务
|
||
app:
|
||
image: digital-archive:fast
|
||
container_name: digital-archive-app
|
||
ports:
|
||
- "9081:9081"
|
||
volumes:
|
||
- ./data/upload:/app/data/upload
|
||
- ./data/temp:/app/data/temp
|
||
- ./data/unzip:/app/data/unzip
|
||
- ./data/images:/app/data/images
|
||
- ./data/reports:/app/data/reports
|
||
- ./logs:/app/logs
|
||
environment:
|
||
- SPRING_PROFILES_ACTIVE=prod
|
||
- SERVER_PORT=9081
|
||
- DB_HOST=mysql
|
||
- DB_PORT=3306
|
||
- DB_NAME=enterprise_digital_archives
|
||
- DB_USERNAME=root
|
||
- DB_PASSWORD=Abc@123456
|
||
- DB_DRIVER=com.mysql.cj.jdbc.Driver
|
||
- REDIS_HOST=redis
|
||
- REDIS_PORT=6379
|
||
- REDIS_PASSWORD=Abc123456
|
||
- ELASTICSEARCH_HOST=es
|
||
- ELASTICSEARCH_PORT=9200
|
||
- ELASTICSEARCH_SCHEME=http
|
||
- TESS_PATH=/usr/bin/tesseract
|
||
- SWAGGER_SHOW=false
|
||
- LOG_ROOT_LEVEL=info
|
||
- LOG_APP_LEVEL=info
|
||
networks:
|
||
- proxy
|
||
restart: unless-stopped
|
||
healthcheck:
|
||
test: ["CMD", "curl", "-f", "http://localhost:9081/point-strategy/actuator/health"]
|
||
interval: 30s
|
||
timeout: 10s
|
||
retries: 3
|
||
start_period: 60s
|
||
|
||
# Elasticsearch - 使用已有的 "es" 容器
|
||
# 注意:确保已有的 "es" 容器已连接到 proxy 网络
|
||
|
||
networks:
|
||
proxy:
|
||
external: true
|
||
EOF
|
||
|
||
echo "✅ docker-compose.yml 已重新生成"
|
||
|
||
echo
|
||
echo "🧪 测试新配置..."
|
||
|
||
# 检测 Docker Compose 命令类型
|
||
if docker compose version &> /dev/null; then
|
||
COMPOSE_CMD="docker compose"
|
||
else
|
||
COMPOSE_CMD="docker-compose"
|
||
fi
|
||
|
||
echo "使用命令: $COMPOSE_CMD"
|
||
|
||
# 验证配置
|
||
if $COMPOSE_CMD -f "$COMPOSE_FILE" config --quiet 2>/dev/null; then
|
||
echo "✅ 配置验证成功"
|
||
else
|
||
echo "❌ 配置验证失败,显示错误:"
|
||
$COMPOSE_CMD -f "$COMPOSE_FILE" config
|
||
echo
|
||
echo "恢复备份文件..."
|
||
mv "$COMPOSE_FILE.backup" "$COMPOSE_FILE"
|
||
exit 1
|
||
fi
|
||
|
||
echo
|
||
echo "🚀 现在可以启动服务:"
|
||
echo " ./archive-manager.sh start"
|
||
echo
|
||
echo "或直接使用:"
|
||
echo " cd $DEPLOY_DIR && $COMPOSE_CMD up -d" |