Quick Start

Quick start


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

Clone the project and install the dependencies

git clone
cd ChatGPT-Admin-Web
pnpm install

pnpm install: npm i -g pnpm

Initialize the database

Set the DATABASE_URL environment variable, for example:

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

A PostgreSQL database can be started quickly with Docker.

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

Run it in the project root directory:

pnpm run db:init
You will see the following output, which indicates that the database has been initialized successfully:
> [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.

Set the REDIS_URL environment variable, for example:

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

A Redis database can be started quickly with Docker.

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

Start the project

pnpm run start

The project runs at http://localhost:3000 by default.

The first time you run the project, it will automatically generate config.json, and import DATABASE_URL and REDIS_URL environment variables, and you can modify config.json directly for subsequent changes.


Dashboard is coming soon.

~~The first time you open it, you will be redirected to http://localhost:3000/install to set up your administrator account and password, and then you can log in. ~~



Only Resend passed the test for the mail service.

SMS service only UniSMS passed the test.

Payment service only Xunhu passed the test.

  ... // Auto-generated section
  "openai": {
    "baseUrl": "",
    "keys": [
  "email": {
    "use": "resend",
    "domain": "",
    "resend": {
      "apiKey": "fff"
  "sms": {
    "use": "uni",
    "uni": {
      "signature": "XX科技",
      "apiKey": "ffffff"
  "payment": {
    "use": "xunhu",
    "xunhu": {
      "wapName": "XX科技",
      "appId": "ffffff",
      "appSecret": "ffffff",
      "notifyUrl": "",
      "returnUrl": ""