60 lines
2.2 KiB
Bash
Executable File
60 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
# EN: Script to start all services in development environment
|
|
# VI: Script để khởi động tất cả services trong môi trường development
|
|
|
|
set -e
|
|
|
|
# Source OS helper for cross-platform commands
|
|
source "$(dirname "$0")/../utils/os-helper.sh"
|
|
|
|
echo "🚀 Starting all services... / Khởi động tất cả services..."
|
|
|
|
# EN: Verify Docker daemon is running
|
|
# VI: Xác minh Docker daemon đang chạy
|
|
if ! docker info &> /dev/null; then
|
|
echo "❌ Docker is not running. Please start Docker first. / Docker không chạy. Vui lòng khởi động Docker trước."
|
|
exit 1
|
|
fi
|
|
|
|
# EN: Load environment variables from shared config
|
|
# VI: Load biến môi trường từ shared config
|
|
if [ -f "deployments/local/.env.local" ]; then
|
|
export $(grep -v '^#' deployments/local/.env.local | xargs)
|
|
fi
|
|
|
|
# EN: Check if DATABASE_URL is configured (required for services)
|
|
# VI: Kiểm tra DATABASE_URL có được cấu hình không (bắt buộc cho services)
|
|
if [ -z "$DATABASE_URL" ]; then
|
|
echo "⚠️ WARNING: DATABASE_URL not set! / CẢNH BÁO: DATABASE_URL chưa được thiết lập!"
|
|
echo " Please setup Neon database: ./scripts/db/setup-neon.sh"
|
|
echo " Or set DATABASE_URL in deployments/local/.env.local"
|
|
echo " / Vui lòng thiết lập Neon database: ./scripts/db/setup-neon.sh"
|
|
echo " Hoặc đặt DATABASE_URL trong deployments/local/.env.local"
|
|
echo ""
|
|
read -p "Continue anyway? (y/n): / Tiếp tục? (y/n): " continue
|
|
if [ "$continue" != "y" ]; then
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# EN: Start infrastructure services and .NET backends
|
|
# VI: Khởi động infrastructure services và .NET backends
|
|
echo "📦 Starting Docker containers (Infra + .NET Services)..."
|
|
cd deployments/local
|
|
run_compose up -d
|
|
cd ../..
|
|
|
|
# EN: Give Redis time to fully start
|
|
# VI: Cho Redis thời gian để khởi động đầy đủ
|
|
echo "⏳ Waiting for services to stabilize..."
|
|
sleep 5
|
|
|
|
# EN: Start Node.js apps/services using pnpm dev
|
|
# VI: Khởi động Node.js apps/services sử dụng pnpm dev
|
|
echo "🚀 Starting Node.js apps (Frontend/BFF)..."
|
|
if command -v pnpm &> /dev/null; then
|
|
pnpm dev
|
|
else
|
|
echo "⚠️ pnpm not found. Only Docker services are running."
|
|
fi
|