ChatGPT商业化平台一键部署(API管理,发卡收费,使用平台,支持GPT4)

#chatgpt #商业化 #开源平台 #网站搭建 #VPS #服务器 #1panel面板 #docker #Linux管理面板 #Ubuntu #腾讯云 #阿里云 #搬瓦工 #vultr #docker-compose #dujiaoka数据库 #MySQL #Redis #安装1panel #连接VPS #生成式人工智能服务管理 #中国地区备案


我知道很多小伙伴,搭建个人 chatgpt 网站不单单是为了自己使用,还想赚点外快,接下来我就介绍一下如何利用开源平台搭建一个商业化的 chatgpt 网站

但是在此之前,请大家认真学习并遵守:

一、搭建后效果

体验地址

聊天地址

二、准备工作

  • 一个域名(域名的后缀决定了你邮箱的后缀)
  • 一台 VPS(25 端口收发邮件)

注意 VPS 最好可以打开 25 号端口,因为对于用户用邮箱注册时可以自动发送验证码

测试命令

1
telnet IP 25

1Panel-dev/1Panel: 🔥 🔥 🔥 现代化、开源的 Linux 服务器运维管理面板。 (github.com)

我们这里使用 docker 搭建,而 1panel 面板是以 docker 为核心的 Linux 可视化开源管理面板,推荐新人使用这个进行搭建并进行管理。

介绍文章:推荐开源的 Linux 管理面板——1panel - PPPFZ BLOG

三、连接 VPS

1、选购 VPS

VPS 可以简单的理解为远程服务器

我们购买一台服务器大致要满足一下要求

  • 访问速度要快(毕竟要给别提供服务)
  • 在中国大陆内的服务器(因为要备案)
  • 要稳定可靠

同时满足这三个的条件的基本只有那几家大厂了。

如果考虑在为国外提供服务可以考虑使用下面两家服务器(都是大厂,支持退款)

  • 搬瓦工 (有 GAI 线路,速度极快)
  • vultr (有一百美金体验金)

这里就用腾讯云的服务器来演示一下如何购买并连接服务器吧

点击我的链接:腾讯云,用微信扫即可注册

找到试用专区,我们领取试用一台高配置的 VPS(4 核 8G12M1 个月)

f6694b4cdef7e19079f940d95c1d54ff.png

之后觉得合适再续。如果不续了,想购买新的,就如下:

0504129dd4f08fad4cc34d8d767b0d1c.png

轻量应用服务器 Lighthouse香港轻量服务器海外轻量服务器-腾讯云 (tencent.com)

bcbbc6976a3cc8549da61e05bd2a46e6.png

依次选择服务器的配置:

  • 基于操作系统镜像
  • Ubuntu
  • 版本:Ubuntu 22.04 LTS
  • 地域:中国,北京
  • 套餐类型:入门型
  • 套餐规格:45 元/月
  • 自动生成密码(生成的密码会发送到你的邮箱当中)
  • 时长:一个月

8159823b14535593d59412d6d2ad6564.png

769b3830b0a1400d6dc977447909b6c0.png

f7bfff2f1c6d07cf7b62a22045606040.png

接下来进入控制后台,获取服务器的公网 IP 即可

8a5a14dbd1f7b6ab2eb2c6a19aeb288c.png

现在我们有了:

1
2
3
服务器的账户:XXXXXX
密码: XXXXXXX
IP地址:XXXXXXXX

2、连接 VPS

将获取到的东西依次填入下面的注释框中

c5140fe2724cb3e110b9853b647f6ac4.png

连接后效果:

3bcc8c1caf6d13e7bb7ce22ca3123db8.png

四、安装 1panel

在线安装 - 1Panel 文档
如果上面跟我选择的是一样的话就是 Ubuntu 系统,就用这条命令

1
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

如果不是的话,就使用 cat 命令查看是什么 Linux 系统

1
cat /etc/os-release
1
2
3
4
5
6
7
8
RedHat / CentOS
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sh quick_start.sh

Ubuntu
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

Debian
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

55009c7c91ddd536371572ac5d9e99ad.png

在安装过程中,会让你选择安装目录,1panel 的后台管理面板端口,和管理员账户和密码。默认即可,最后安装完成后,会统一显示出来。如果忘记,可以使用1pctl user-info查看。

安装完成后,访问:外网 IP 地址+随机端口

五、安装集成化平台

接下来,我们使用 docker-compose 来部署。为了以后可以方便的使用 docke-compose 重新部署,我们使用编排模板的方法,储存我们的 docker-compose.yml 文件。

89e349c7d617ef06acf531b1c890f2eb.png

1、获取并修改 docker-compose.yml 文件

内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
version: '3.9'

services:
one-api:
image: justsong/one-api:latest
container_name: one-api
restart: always
command: --log-dir /app/logs
ports:
- "3000:3000"
volumes:
- ./data/oneapi:/data
- ./logs:/app/logs
environment:
- SQL_DSN=oneapi:123456@tcp(db:3306)/one-api # 修改此行,或注释掉以使用 SQLite 作为数据库
- REDIS_CONN_STRING=redis://redis
- SESSION_SECRET=random_string # 修改为随机字符串
- TZ=Asia/Shanghai
# - NODE_TYPE=slave # 多机部署时从节点取消注释该行
# - SYNC_FREQUENCY=60 # 需要定期从数据库加载数据时取消注释该行
# - FRONTEND_BASE_URL=https://openai.justsong.cn # 多机部署时从节点取消注释该行
depends_on:
- redis
- db
- dujiaoka
- chatgpt-next-web-proxy
healthcheck:
test: [ "CMD-SHELL", "wget -q -O - http://localhost:3000/api/status | grep -o '\"success\":\\s*true' | awk -F: '{print $2}'" ]
interval: 30s
timeout: 10s
retries: 3

redis:
image: redis:latest
container_name: redis
restart: always

db:
image: mysql:8.2.0
restart: always
container_name: mysql
volumes:
- ./data/mysql:/var/lib/mysql # 挂载目录,持久化存储
- ./init.sql:/docker-entrypoint-initdb.d/init.sql
ports:
- '3306:3306'
environment:
TZ: Asia/Shanghai # 设置时区
MYSQL_ROOT_PASSWORD: 'OneAPI@justsong' # 设置 root 用户的密码
MYSQL_USER: oneapi # 创建专用用户
MYSQL_PASSWORD: '123456' # 设置专用用户密码
MYSQL_DATABASE: one-api # 自动创建数据库

dujiaoka:
image: stilleshan/dujiaoka:latest
environment:
# - INSTALL=false
- INSTALL=true
# - MODIFY=true
container_name: dujiaoka
volumes:
- ./data/dujiaoka/env.conf:/dujiaoka/.env
- ./data/dujiaoka/uploads:/dujiaoka/public/uploads
- ./data/dujiaoka/storage:/dujiaoka/storage
ports:
- "880:80"

chatgpt-next-web-proxy:
container_name: chatgpt-next-web-proxy
image: yidadaa/chatgpt-next-web:latest
ports:
- 888:3000
environment:
- OPENAI_API_KEY=
- CODE=
- PROXY_URL=$PROXY_URL
- BASE_URL=$BASE_URL
- OPENAI_ORG_ID=$OPENAI_ORG_ID
- HIDE_USER_API_KEY=$HIDE_USER_API_KEY
- DISABLE_GPT4=$DISABLE_GPT4
- ENABLE_BALANCE_QUERY=$ENABLE_BALANCE_QUERY
- DISABLE_FAST_LINK=$DISABLE_FAST_LINK
- OPENAI_SB=$OPENAI_SB

networks:
default:

我们需要修改以下变量:

1
2
3
4
5
6
7
8
- MYSQL_ROOT_PASSWORD: 'OneAPI@justsong' # 设置 root 用户的密码
# 将MySQL数据库密码修改为自己的密码:MYSQL_ROOT_PASSWORD: 'xxxxxxxxxxxx1'

- MYSQL_PASSWORD: '123456' # 设置专用用户密码
# 将oneapi这个MySQL数据库的用户密码改为自己的密码:MYSQL_PASSWORD: 'xxxxxxxxxxxxx2'

- SQL_DSN=oneapi:xxxxxxxxxxxxx2@tcp(db:3306)/one-api
# 将连接MySQL数据库的oneapi密码跟随第二步密码修改

2、安装 dujiaoka 数据库

由于独角数卡 dujiaoka,还需要一个数据库:dujiaoka。所以我们用 sql 命令生成(对下面的 dujiaoka 数据库密码要进行修改):

1
2
3
4
5
-- init.sql

CREATE DATABASE IF NOT EXISTS `dujiaoka`;
CREATE USER IF NOT EXISTS 'dujiaoka'@'%' IDENTIFIED BY '123456'; # 将123456修改为你自己的密码
GRANT ALL PRIVILEGES ON dujiaoka.* TO 'dujiaoka'@'%';

将修改过后的文件放在/opt/1panel/docker/compose/test 目录下,命名为:init.sql

test 为你为这个编排项目的命名(可以任意)

dujiaoka 还需要有个配置文件:raw.githubusercontent.com/assimon/dujiaoka/master/.env

将配置文件下载下来,放在/opt/1panel/docker/compose/test/data/dujiaoka下,命名为:env.conf

3、编排生成容器

Pasted image 20240424194900

点击确定后就会生成 4 个容器

注意打开防火墙(云服务器厂商和服务器本身)

oneapi 的默认账户密码是:root 123456

dujiaoka 默认账户密码:admin admin

dujiaka 部署完成后有两点一定要做:

1、yml 文件中环境变量: - INSTALL=true true 改成 false

2、env 配置文件中APP_DEBUG=false 将 true 改为 false

对于 dujiaoka 的详细部署和支付方法部署可以参考我的文章:
1panel 面板 docker 部署独角数卡自动发卡平台 (含 Epdust 和 Coinbase 支付方式) - PPPFZ BLOG

部署成功

0bbf8c96cca65a72fefdac2bad95132a.png


ChatGPT商业化平台一键部署(API管理,发卡收费,使用平台,支持GPT4)
https://blog.pppfz.com/posts/4.html
作者
PPPFZ
发布于
2024年1月30日
许可协议