#!/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" fi echo "🛑 Stopping APP services..." docker compose -p "$PROJECT_NAME" -f docker-compose.yml down $EXTRA_FLAGS if [ "$WIPE" == "true" ]; then # 檢查並建立 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 echo "🧹 所有資料(volumes, image)已清除!" else echo "✅ 所有服務 $PROJECT_NAME 已成功關閉。" fi