37 lines
968 B
Bash
Executable File
37 lines
968 B
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"
|
||
|
||
# 檢查並建立 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!" |