Files
codimd/update.sh
Timmy ea11288642 fix: add Docker Compose V2 support for all management scripts
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>
2026-03-17 17:47:49 +08:00

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