49 lines
1.0 KiB
Bash
Executable File
49 lines
1.0 KiB
Bash
Executable File
#!/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" |