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. 联系技术支持团队
Was this page helpful?