42 lines
1.1 KiB
Bash
Executable File
42 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
||
WIPE=false
|
||
if [ "$1" == "--wipe" ]; then
|
||
WIPE=true
|
||
fi
|
||
|
||
# 載入 .env 中的變數
|
||
if [ -f .env ]; then
|
||
export $(grep -v '^#' .env | xargs)
|
||
echo "📦 .env 載入完成"
|
||
else
|
||
echo "❌ 沒有找到 .env,無法載入環境變數"
|
||
exit 1
|
||
fi
|
||
|
||
# 使用 .env 中的 APP_NAME 作為 project name
|
||
PROJECT_NAME="${APP_NAME}"
|
||
NETWORK_NAME="${APP_NAME}_network"
|
||
|
||
|
||
# 組合額外參數(如果有需要清除 volume 與 image)
|
||
EXTRA_FLAGS=""
|
||
if [ "$WIPE" == "true" ]; then
|
||
EXTRA_FLAGS="-v --rmi all"
|
||
# 檢查並建立 network(如果不存在)
|
||
if ! docker network ls --format '{{.Name}}' | grep -wq "$NETWORK_NAME"; then
|
||
echo "🔌 Docker 網路 $NETWORK_NAME 不存在"
|
||
else
|
||
docker network rm $NETWORK_NAME
|
||
echo "🔌 Docker 網路 $NETWORK_NAME 已刪除"
|
||
fi
|
||
fi
|
||
|
||
echo "🛑 Stopping APP services..."
|
||
docker compose -p "$PROJECT_NAME" -f docker-compose.app.yml down $EXTRA_FLAGS
|
||
|
||
if [ "$WIPE" == "true" ]; then
|
||
echo "🧹 所有資料(volumes, image)已清除!"
|
||
else
|
||
echo "✅ 所有服務 $PROJECT_NAME 已成功關閉。"
|
||
fi
|