用Docker将类ChatGPT官方服务部署到OpenWrt软路由

介绍

在生活和板砖奔波两地，ChatGPT 官网又经常抽风，碰巧两地都有软路由 OpenWrt ，所以我将 ChatGPT 部署到软路由上。两地的网关都是 192.168.2.1，再把软路由上的 ChatGPT 加入 Google Chrome 收藏夹，这样就能随时在两地快速访问。

项目

这次使用的是潘多拉 (Pandora)，一个使用 Access Token 实现了网页版 ChatGPT 的开源项目。后端优化，绕过 Cloudflare，速度喜人。

项目 | 地址
潘多拉 (Pandora) | https://github.com/pengzhile/pandora
Access Token | http://chat.openai.com/api/auth/session

Access Token 有效期 14 天，期间访问不需要梯子

部署

安装 Docker

打开 OpenWrt 我使用的固件是 https://supes.top/ ，找到系统—软件包，点击更新列表

更新后分别安装：

luci-lib-jsonc

luci-lib-docker

luci-app-dockerman

安装完成后就可以在左栏找到 Docker

下面的操作建议在 SSH 完成，OpenWrt 上操作 Docker 真难用！

使用 SSH 工具连接 OpenWrt 网关 192.168.2.1，用户名和密码就是 OpenWrt 的用户名和密码。推荐工具 electerm

拉取镜像

Copy
docker pull pengzhile/pandora

运行镜像

Copy
docker run -e PANDORA_CLOUD=cloud -e PANDORA_SERVER=0.0.0.0:8899 -p 8899:8899 -d pengzhile/pandora

更多 Docker 环境变量请看: pandora 环境变量

获取 Access Token

官方登录，然后访问 这里 拿 Access Token 有效期 14 天

也可以直接用 OpenAI 帐号登录
打开http:// 网关：8899/
我使用 Access Token

搞定，使用 cloud 模式，和 ChatGPT 官网无异，聊天记录同步更新，比官网稳定快捷。

设置开机启动 (非必须)

使用 /etc/rc.local 文件来执行自定义的启动脚本

找到/etc/rc.local文件

在文件的末尾添加以下内容

Copy
#!/bin/sh
/etc/init.d/dockerd restart # 重启Docker服务
sleep 10 # 等待10秒，确保Docker服务已启动 docker start my_container # 启动Docker容器

把上面的 docker start my_container 替换成 openwrt Docker 里的容器 ID 比如我的是 3c3ab7807401
docker start 3c3ab7807401

保存并关闭文件。

授予/etc/rc.local文件执行权限：

Copy
chmod +x /etc/rc.local