Project
快速开始

快速开始

ℹ️

Prerequisite You should have installed Node.js (version 18.10.0 or higher).

克隆项目并安装依赖

git clone https://github.com/AprilNEA/ChatGPT-Admin-Web.git
cd ChatGPT-Admin-Web
pnpm install

pnpm 安装:npm i -g pnpm

初始化数据库

设置DATABASE_URL环境变量,例如:

export DATABASE_URL=postgres://postgres:your_password@localhost:5432/postgres

可通过 Docker 快速启动一个 PostgreSQL 数据库

docker run -itd --name caw -e POSTGRES_PASSWORD=your_password -p 5432:5432 -d postgres

在项目根目录运行:

pnpm run db:init

你会看见如下输出,则表明数据库已经初始化成功:

> [email protected] db:init /path/to/ChatGPT-Admin-Web
> prisma db push && prisma db seed
 
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": PostgreSQL database "postgres", schema "public" at "localhost:5434"
 
🚀 Your database is now in sync with your Prisma schema. Done in 245ms
 
 Generated Prisma Client (v5.3.1) to ./prisma/client in 297ms
 
Environment variables loaded from .env
Running seed command `ts-node prisma/seed.ts` ...
{
    models: {count: 2},
    categories: {count: 1},
    products: {count: 1},
    limits: {count: 1}
}
 
🌱 The seed command has been executed.
 

设置REDIS_URL环境变量,例如:

export REDIS_URL=redis://localhost:6379/0

可通过 Docker 快速启动一个 Redis 数据库

docker run -p 6379:6379 -d redis/redis-stack:latest

启动项目

pnpm run start

项目默认运行在 http://localhost:3000

首次运行项目会自动生成config.json, 并导入DATABASE_URLREDIS_URL环境变量,后续更改可直接修改config.json

👷‍♀️

Dashboard is coming soon.

打开http://localhost:3000/install设置管理员账户和密码。

设置完毕后通过http://localhost:3000/auth登录,通过http://localhost:3000/dashboard进入后台管理页面。

ℹ️

若数据库中没有用户则输入用户密码后,新建管理员用户;若数据库中已存在任意用户,则输入某个用户的账户或密码,该用户将获得管理员权限。

配置

ℹ️

邮件服务仅 Resend 通过测试。

短信服务仅 UniSMS 通过测试。

支付服务仅 Xunhu 通过测试。

{
  // 自动生成部分
 
  "openai": {
    "baseUrl": "https://api.openai.com/v1",
    "keys": [
      "fff"
    ]
  },
  "email": {
    "use": "resend",
    "domain": "example.com",
    "resend": {
      "apiKey": "fff"
    }
  },
  "sms": {
    "use": "uni",
    "uni": {
      "signature": "XX科技",
      "apiKey": "ffffff"
    }
  },
  "payment": {
    "use": "xunhu",
    "xunhu": {
      "wapName": "XX科技",
      "appId": "ffffff",
      "appSecret": "ffffff",
      "notifyUrl": "https://example.com",
      "returnUrl": "https://example.com"
    }
  }
}