w

安裝指南

本指南將幫助您快速安裝和配置我們的平台。

系統要求

最低要求

  • Node.js: 18.0.0 或更高版本
  • npm: 8.0.0 或更高版本
  • pnpm: 8.0.0 或更高版本(推薦)
  • 記憶體: 4GB RAM
  • 儲存空間: 2GB 可用空間

推薦配置

  • Node.js: 20.0.0 或更高版本
  • 記憶體: 8GB RAM
  • 儲存空間: 5GB 可用空間
  • 作業系統: macOS 12+, Ubuntu 20.04+, Windows 10+

安裝步驟

1. 複製專案

git clone https://github.com/your-org/woker-job.git
cd woker-job

2. 安裝依賴

使用 pnpm(推薦):

pnpm install

或使用 npm:

npm install

3. 環境配置

複製環境變數檔案:

cp .env.example .env

編輯 .env 檔案,配置必要的環境變數:

# 資料庫配置
DATABASE_URL="postgresql://username:password@localhost:5432/woker_job"

# JWT 密鑰
JWT_SECRET="your-jwt-secret-key"

# 前端配置
NUXT_PUBLIC_FRONTEND_BASE_URL="http://localhost:3000"
NUXT_PUBLIC_BACKEND_BASE_URL="http://localhost:3001"

4. 資料庫設定

使用 Docker(推薦)

# 啟動 PostgreSQL 資料庫
docker run --name woker-job-db \
  -e POSTGRES_DB=woker_job \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=password \
  -p 5432:5432 \
  -d postgres:15

手動安裝 PostgreSQL

  1. 下載並安裝 PostgreSQL
  2. 建立資料庫:
CREATE DATABASE woker_job;
CREATE USER woker_user WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE woker_job TO woker_user;

5. 執行資料庫遷移

# 進入後端目錄
cd apps/back-end

# 執行遷移
pnpm run migration:run

6. 啟動開發伺服器

啟動所有服務(推薦)

在專案根目錄:

pnpm run dev

分別啟動服務

後端服務

cd apps/back-end
pnpm run start:dev

前端服務

cd apps/web
pnpm run dev

7. 驗證安裝

  1. 存取前端應用程式:http://localhost:3000
  2. 存取後端 API:http://localhost:3001
  3. 檢查 API 文件:http://localhost:3001/api

生產環境部署

Docker 部署

  1. 建立映像:
docker build -t woker-job .
  1. 執行容器:
docker run -d \
  --name woker-job \
  -p 3000:3000 \
  -p 3001:3001 \
  -e DATABASE_URL="your-production-db-url" \
  woker-job

手動部署

  1. 建立生產版本:
pnpm run build
  1. 啟動生產服務:
pnpm run start

常見問題

連接埠衝突

如果連接埠 3000 或 3001 被佔用,可以修改環境變數:

# 前端連接埠
PORT=3002

# 後端連接埠
BACKEND_PORT=3003

資料庫連接失敗

  1. 檢查資料庫服務是否執行
  2. 驗證連接字串格式
  3. 確認防火牆設定

依賴安裝失敗

  1. 清除快取:
pnpm store prune
npm cache clean --force
  1. 刪除 node_modules 重新安裝:
rm -rf node_modules
pnpm install

下一步

安裝完成後,您可以:

取得協助

如果在安裝過程中遇到問題:

  1. 查看 故障排除 指南
  2. 檢查 GitHub Issues
  3. 聯繫技術支援團隊
這個頁面對您有幫助嗎?