37 lines
968 B
Bash
37 lines
968 B
Bash
|
#!/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"
|
|||
|
|
|||
|
# 檢查並建立 network(如果不存在)
|
|||
|
if ! docker network ls --format '{{.Name}}' | grep -wq "$NETWORK_NAME"; then
|
|||
|
echo "🔌 建立 Docker 網路 $NETWORK_NAME ..."
|
|||
|
docker network create $NETWORK_NAME
|
|||
|
else
|
|||
|
echo "🔌 Docker 網路 $NETWORK_NAME 已存在"
|
|||
|
fi
|
|||
|
|
|||
|
# 組合額外參數(如果有需要清除 volume 與 image)
|
|||
|
EXTRA_FLAGS="up -d"
|
|||
|
if [ "$WIPE" == "true" ]; then
|
|||
|
EXTRA_FLAGS="up -d --build"
|
|||
|
fi
|
|||
|
|
|||
|
echo "🚀 Starting APP services..."
|
|||
|
docker compose -p $PROJECT_NAME -f docker-compose.yml $EXTRA_FLAGS
|
|||
|
|
|||
|
echo "✅ All services for $PROJECT_NAME are up and running!"
|