从零开始,ALL-IN-ONE ,GPT使用从未如此简单
2023-12-11 19:29:50
太过远古,本教程考古把

部署环境:
系统:debian11
一个半年以上的GitHub账号

本文涉及4个开源项目:

NPM:NginxProxyManager/nginx-proxy-manager
pandora-next:pandora-next/deploy
PandoraNext-TokensTool:Yanyutin753/PandoraNext-TokensTool
ChatGPT-Next-Web:Yidadaa/ChatGPT-Next-Web

如果觉得好用的话,请关注,star一下这些爱发电的作者!!!

1:先更新一下系统

1
2
3

apt update && apt upgrade -y

2:安装docker

①:提供四个安装脚本

  • 官方:
1
curl -sSL https://get.docker.com/ | sh
  • DaoCloud 的安装脚本(推荐):
1
curl -sSL https://get.daocloud.io/docker | sh
  • 阿里云的安装脚本:
1
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
  • 推荐使用:
1
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh)

验证一下docker安装是否成功

1
docker -v

②:安装 Docker Compose

请确保你的端口没有被占用
在 GitHub 上获取最新版本的 Docker Compose:

1
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

赋予执行权限:

1
sudo chmod +x /usr/local/bin/docker-compose

如果需要使用非 sudo 用户执行 Docker Compose 命令,可以将该用户添加到 docker 组中。

验证安装:

1
docker-compose --version

3:创建安装目录

1
mkdir -p /opt/docker/chat

拉取config文件

1
wget -O /opt/docker/chat/data/config.json https://raw.githubusercontent.com/pandora-next/deploy/master/data/config.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"bind": "0.0.0.0:8181",
"tls": {
"enabled": false,
"cert_file": "",
"key_file": ""
},
"timeout": 600,
"proxy_url": "",
"license_id": "", # 一定要填写,获取地址:https://dash.pandoranext.com/
"public_share": false,
"site_password": "",
"setup_password": "",
"server_tokens": true,
"proxy_api_prefix": "",
"isolated_conv_title": "*",
"whitelist": null
}

license_id获取地址https://dash.pandoranext.com/

如果提示错误,安装一下 wget 和 curl

1
sudo apt install wget && sudo apt install curl

4: 创建docker-compose.yml文件

1
nano 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
version: '3'
services:
pandora-next:
image: pengzhile/pandora-next
container_name: PandoraNext
network_mode: bridge
restart: always
ports:
- "8181:8181"
volumes:
- ./data:/data
- ./sessions:/root/.cache/PandoraNext

tokensTool:
image: yangclivia/tokenstool:latest
container_name: tokensTool
restart: always
user: root
network_mode: host
pid: host
privileged: true
volumes:
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock
command:
- --deployWay=(部署方式看环境变量)
- --deployPosition=/data
- --hotReload=true
- --server.port=8081
- --pandoara_Ip=127.0.0.1

chatgpt-next-web:
image: yidadaa/chatgpt-next-web
container_name: ChatGPTNextWeb
ports:
- "8090:3000"
environment:
- OPENAI_API_KEY=sk-xxxx # 填写你的 API KEY
- CODE=your-password # 设置访问密码,防止 API Key 被滥用
1
lsof -i:8081#可以先检测一下端口是否被占用 lsof -i:端口号

按住键盘Ctrl+x ,输入Y保存

docker compose up -d启动容器,

如果你不使用 Chat2API,请跳过这一步。

首先访问tokensTool:输入你的服务器IP:8081进入后台

默认账号为:root,密码为123456

如果提示错误请检查cat /opt/docker/chat/data/config.json文件内是否有内容,如果没有请创建 nano /opt/docker/chat/data/config.json ,复制上面的config配置

进入tokensTool请修改默认账号密码,图上面很详细了,不懂请反复观看
输入图片说明
点击+号添加你的openai账号,示列如图
输入图片说明

这里获取一次token占用100 license_id 额度

这个容器能实现openai账号密码获取pool_token、share_token和access_token

5: 接下来我们输入ip:8181访问Pandora,如果配置了访问密码。请输入你的密码!!!

输入图片说明
到了这一步,如果你还没有openai账号可以点击页面Sign up注册你的open账号,最好用Google或微软邮箱,

获取到的验证链接不要点进去!!!!直接右键复制链接
输入图片说明
这样你就免代理获得了一个openai账号
输入图片说明

6:下面讲一下ChatGPT-Next-Web的设置

输入ip:8090进入ChatGPT-Next-Web

如果提示输入 密码跟 token 随便输一下,可以不用管他

接下来点击左下角设置图标如图设置
输入图片说明
输入图片说明
配置完成后就能跟Openai畅聊了

!!!注意这个一个聊天占用4个license_id 额度,如果额度紧张的话就只用Pandora网页即可。一个指令,占用1个额度。

如果你还想使用域名访问,可以docker安装NPM

1
2
mkdir -p /opt/docker/npm
nano docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80' # 冒号左边可以改成自己服务器未被占用的端口
- '81:81' # 冒号左边可以改成自己服务器未被占用的端口
- '443:443' # 冒号左边可以改成自己服务器未被占用的端口
volumes:
- ./data:/data # 冒号左边可以改路径,现在是表示把数据存放在在当前文件夹下的 data 文件夹中
- ./letsencrypt:/etc/letsencrypt # 冒号左边可以改路径,现在是表示把数据存
1
docker compose up -d

请确保你的端口没有被占用

输入你的ip:81访问npm后台

默认账号密码

Email: admin@example.com Password: changeme

进入后台后请及时修改账号,密码。其他设置还不懂请自行百度,或者问GPT。