Add docker-compose-helper.sh to auto-detect and use: - docker-compose (V1 - standalone) - docker compose (V2 - plugin) Update all 9 management scripts to use the helper: - start.sh, stop.sh, restart.sh - logs.sh, status.sh - backup.sh, restore.sh, update.sh, cleanup.sh This fixes "docker-compose: command not found" error on systems with Docker Compose V2 installed. Co-Authored-By: Claude Sonnet 4 <noreply@anthropic.com>
48 lines
970 B
Bash
Executable File
48 lines
970 B
Bash
Executable File
#!/bin/bash
|
|
# CodiMD 更新腳本
|
|
|
|
set -e
|
|
|
|
# 載入 docker compose 輔助函數
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "$SCRIPT_DIR/docker-compose-helper.sh"
|
|
|
|
echo "🔄 更新 CodiMD..."
|
|
echo ""
|
|
|
|
# 1. 備份現有資料
|
|
echo "💾 更新前備份..."
|
|
./backup.sh
|
|
echo ""
|
|
|
|
# 2. 拉取最新映像
|
|
echo "📥 拉取最新 Docker 映像..."
|
|
docker_compose pull
|
|
echo ""
|
|
|
|
# 3. 詢問是否重啟
|
|
read -p "是否現在重啟服務以套用更新?(yes/no): " RESTART
|
|
|
|
if [ "$RESTART" = "yes" ]; then
|
|
echo "🔄 重啟服務..."
|
|
docker_compose down
|
|
docker_compose up -d
|
|
|
|
echo ""
|
|
echo "⏳ 等待服務啟動..."
|
|
sleep 10
|
|
|
|
echo ""
|
|
echo "📊 服務狀態:"
|
|
docker_compose ps
|
|
|
|
echo ""
|
|
echo "✅ 更新完成!"
|
|
echo ""
|
|
echo "📝 查看日誌: ./logs.sh"
|
|
else
|
|
echo ""
|
|
echo "⚠️ 映像已下載,但服務尚未重啟"
|
|
echo "💡 稍後可執行 ./restart.sh 來套用更新"
|
|
fi
|