一、环境
环境要求
推荐VPS:Vultr.com
套餐选择如下:
VPS安装
CentOS 6和7/Debian6+/Ubuntu14+ ShadowsocksR/Shadowsocks一键部署管理脚本:
1. SS/SSR安装
(1)ubuntu 18.04 -
# Linux
apt-get -y install wget
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
(2) ubuntu 20.04+
# 设置python版本
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
# 选择python版本(选择python2 作为默认python版本)
sudo update-alternatives --config python
# 安装wget
apt-get -y install wget
# 安装SSR
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh
参数设置如下:
(1)加密方式:none 协议:origin 混淆:tls1.2_ticket_auth
(2)加密方式:none 协议:auth_chain_a 混淆:tls1.2_ticket_auth
2. SS
# Linux
apt-get -y install wget
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/ss-go.sh && chmod +x ss-go.sh && bash ss-go.sh
环境配置
docker安装
curl -sSL https://get.docker.com | sh
# 启动并设置开机自启
systemctl start docker
systemctl enable docker
systemctl status docker
部署docker-compose
# 定义Docker-Compose版本变量
export composeVer=v2.16.0
# 下载最新版本的 docker-compose 到 /usr/bin 目录下
curl -L https://github.com/docker/compose/releases/download/${composeVer}/docker-compose-`uname -s`-`uname -m` -o /usr/bin/docker-compose
# 给 docker-compose 授权
chmod +x /usr/bin/docker-compose
# 检查docker-compose安装情况
docker-compose -v
二、反向代理配置
部署反向代理模式1:VPS IP没有被拉黑
如果你的VPS IP稳定,或者你使用的科学上网地址稳定,那就首选这种方式
mkdir -p go-chatgpt-api && cd go-chatgpt-api
vim docker-compose.yml
添加如下内容:
version: "3"
services:
go-chatgpt-api:
container_name: go-chatgpt-api
image: linweiyuan/go-chatgpt-api
ports:
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- TZ=Asia/Shanghai
- PROXY=
- ARKOSE_TOKEN_URL=
- BX=
- BX_URL=
- OPENAI_EMAIL=
- OPENAI_PASSWORD=
restart: always
extra_hosts:
- host.docker.internal:host-gateway
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
- 启动docker服务
docker-compose up -d
- 检查运行的容器;确保容器状态为UP
docker ps
4. 检测容器映射到宿主机的监听端口是否监听
ss -tnlp|grep 8080
- 检查web chatgpt是否连接正常
docker logs -f go-chatgpt-api
部署反向代理模式2:基于Cloudflare WARP模式解决VPS IP被拉黑(推荐)
- 解决IP被Ban,提示Access denied之类的报错
如果使用此模式还是提示Access denied,大概率是你机器IP不干净或者用的国内服务器导致验证码过不去
Cloudflare WARP官网文档:https://developers.cloudflare.com/warp-client/get-started/linux
vim docker-compose.yml
添加如下内容:
version: "3"
services:
go-chatgpt-api:
container_name: go-chatgpt-api
image: linweiyuan/go-chatgpt-api
ports:
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- TZ=Asia/Shanghai
- PROXY=socks5://chatgpt-proxy-server-warp:65535
- BX=
- BX_URL=
- OPENAI_EMAIL=
- OPENAI_PASSWORD=
depends_on:
- chatgpt-proxy-server-warp
restart: always
extra_hosts:
- host.docker.internal:host-gateway
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
chatgpt-proxy-server-warp:
container_name: chatgpt-proxy-server-warp
image: linweiyuan/chatgpt-proxy-server-warp
environment:
- LOG_LEVEL=OFF
restart: always
extra_hosts:
- host.docker.internal:host-gateway
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
- 启动docker服务
docker-compose up -d
- 检查运行的容器;确保容器状态为UP
docker ps
4. 检测容器映射到宿主机的监听端口是否监听
ss -tnlp|grep 8080
- 检查web chatgpt是否连接正常
docker logs -f go-chatgpt-api
三、使用自建代理
使用access token模式,并使用我们自建的代理地址进行访问;自建IP的访问地址为
http://ip:8080/chatgpt/backend-api/conversation
四、chatgpt-web安装
安装node和npm
# 安装node
sudo apt install nodejs
# 安装npm
sudo apt install npm
# 查看node版本
node -v
node 需要 ^16 || ^18 || ^19 版本(node >= 14 需要安装 fetch polyfill),使用 nvm 可管理本地多个 node 版本,接下来升级node:
# 清除node的缓存
sudo npm cache clean -f
# 安装n模块【管理模块 n是管理 nodejs版本】
sudo npm install -g n
# 升级node
sudo n stable // 把当前系统的 Node 更新成最新的 “稳定版本”
n lts // 长期支持版
n latest // 最新版
n 16 // 指定安装版本
# 安装pnpm
npm install pnpm -g
安装及配置chatgpt-web
# 下载源码
git clone -b v1.3 https://github.com/GJXS1980/chatgpt-web.git
cd chatgpt-web/service && cp .env.example .env
vi .env
切换方式:
- 使用 OpenAI API Key 请填写 OPENAI_API_KEY 字段 (获取 apiKey)
- 使用 Web API 请填写 OPENAI_ACCESS_TOKEN 字段 (获取 accessToken)
同时存在时以 OpenAI API Key 优先 - 添加API_REVERSE_PROXY= http://ip:8080/conversation
安装依赖
进入文件夹 /service 运行以下命令
pnpm install
根目录下运行以下命令
pnpm bootstrap
测试环境
进入文件夹 /service 运行以下命令
pnpm start
根目录下运行以下命令
pnpm dev
demo演示
五、使用 systemctl 部署,实现开机自启动
后端服务开机自启动
# 打开chatgpt-backend.service文件
sudo vim /etc/systemd/system/chatgpt-backend.service
添加以下内容:
# 添加以下内容
[Unit]
Description=chatgpt-backend
[Service]
WorkingDirectory=xxx/chatgpt-web/service # 请修改成你的后端服务文件夹的绝对路径
ExecStart=/usr/local/bin/pnpm start
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
设置开机自启动:
sudo systemctl enable chatgpt-backend.service # 开机自启
sudo systemctl start chatgpt-backend.service # 启动服务
sudo systemctl status chatgpt-backend.service # 查看服务状态
sudo systemctl stop chatgpt-backend.service # 停止服务
前端服务开机自启动
sudo vim /etc/systemd/system/chatgpt-frontend.service
添加以下内容:
# 添加以下内容
[Unit]
Description=chatgpt-frontend
[Service]
WorkingDirectory=xxx/chatgpt-web # 请修改成你的前端服务文件夹的绝对路径
ExecStart=/usr/local/bin/pnpm run dev
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
设置开机自启动:
sudo systemctl enable chatgpt-frontend.service # 开机自启
sudo systemctl start chatgpt-frontend.service # 启动服务
sudo systemctl status chatgpt-frontend.service # 查看服务状态
sudo systemctl stop chatgpt-frontend.service # 停止服务
六、内网穿透
[chatgpt_tcp]
type = tcp
local_ip = 172.17.0.1
local_port = 1995
remote_port = 1095
评论区