49 lines
1.0 KiB
Bash
49 lines
1.0 KiB
Bash
|
|
#!/usr/bin/env bash
|
|||
|
|
# First-time project setup: deps, .env, directories, database schema.
|
|||
|
|
set -euo pipefail
|
|||
|
|
|
|||
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|||
|
|
cd "$ROOT"
|
|||
|
|
|
|||
|
|
echo "==> 巡樓 Haixun 初始化"
|
|||
|
|
|
|||
|
|
if ! command -v node >/dev/null 2>&1; then
|
|||
|
|
echo "錯誤:找不到 node,請先安裝 Node.js 20+" >&2
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
if ! command -v npm >/dev/null 2>&1; then
|
|||
|
|
echo "錯誤:找不到 npm" >&2
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "==> Node $(node -v)"
|
|||
|
|
|
|||
|
|
echo "==> 安裝依賴"
|
|||
|
|
npm install
|
|||
|
|
|
|||
|
|
if [[ ! -f .env ]]; then
|
|||
|
|
cp .env.example .env
|
|||
|
|
echo "==> 已建立 .env(請編輯填入 API Key 與 DATABASE_URL)"
|
|||
|
|
else
|
|||
|
|
echo "==> 沿用既有 .env"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo "==> 建立資料目錄"
|
|||
|
|
mkdir -p \
|
|||
|
|
data/draft-images \
|
|||
|
|
data/search-cache \
|
|||
|
|
data/search-quota \
|
|||
|
|
data/threads-browser-profile \
|
|||
|
|
prisma
|
|||
|
|
|
|||
|
|
echo "==> 初始化資料庫"
|
|||
|
|
npm run db:generate
|
|||
|
|
npm run db:push
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "初始化完成。"
|
|||
|
|
echo " 1. 編輯 .env 填入必要設定"
|
|||
|
|
echo " 2. 生產環境:make build && make up"
|
|||
|
|
echo " 3. 開發模式:make dev"
|
|||
|
|
echo " 4. 查看狀態:make status"
|