使用PandoraNext项目Docker部署ChatGPT官网镜像站(支持Token登录),同时为Chatgpt-web项目提供稳定代理服务
本文最后更新于 2025年4月27日 晚上
背景
chatgpt-web项目https://github.com/Chanzhaoyu/chatgpt-web稳定性太差,经常出现代理失效的问题,在issues中看到pandoranext项目https://github.com/pandora-next/deploy可以自建代理为chatgpt-web提供服务,同时本身可作为chatgpt官网镜像站,支持accesstoken登录,无需付费apikey,相当于官网网页对话使用。
前置条件
一台境外服务器(可直连OpenAI官网,有Docker、Nginx),一个半年以上的github账号,一个域名
部署镜像站
创建根目录
1 | mkdir pandora-next |
获取License
访问https://dash.pandoranext.com登录github账号获取授权
复制网页上的curl命令并执行
项目根目录下出现一个jwt文件
创建docker-compose.yml
把PANDORA_NEXT_LICENSE后的xxx改成刚刚获取的jwt文件中的值
1 | version: '3' |
创建其他文件(夹)
1 | mkdir data |
config.json
修改license_id,授权网页上有
1 | { |
tokens.json
可以修改预设登录方式,默认即可
1 | { |
在项目根目录下(docker-compose.yml所在文件夹)执行docker命令
1 | docker-compose up -d |
放开8181端口,访问http://IP:8181
如果顺利的话,可以看到chatgpt镜像站登录页面,可以使用注册邮箱登录,或者使用accesstoken登录(accesstoken可以在https://chat.openai.com/api/auth/session获取)。
如果确认端口放开但仍旧不能访问,使用docker logs命令查看日志信息,会有错误提示
1 | docker logs PandoraNext |
绑定域名
解析一个二级域名到服务器IP
如pass.xinhaojin.top
申请SSL证书
sudo apt install certbot python3-certbot-nginx
sudo certbot –nginx -d pass.xinhaojin.top
添加nginx配置
/etc/nginx/nginx.conf
添加两个server,对应修改ssl证书位置
1 | server { |
到此为止已经可以使用域名访问chatgpt镜像站了。
为chatgpt-web项目提供代理服务
修改pandora-next/data/config.json
添加代理前缀,注意英文数字都要有,长度>=8,这也是看了logs才发现的规则
1 | "proxy_api_prefix": "proxy2openai", |
重启docker容器
1 | docker restart PandoraNext |
代理接口为https://域名/前缀/backend-api/conversation,如https://pass.xinhaojin.top/proxy2openai/backend-api/conversation,访问正常会返回
1 | { |
chatgpt-web部署参考之前的文章
https://xinhaojin.github.io/2023/04/03/centos7%E4%BD%BF%E7%94%A8docker%E9%83%A8%E7%BD%B2chatgpt/,只需在docker-compose.yml中修改API_REVERSE_PROXY即可