问题描述
NextChat在ChatGPT私人搭建方面广受欢迎,详细的Vercel部署教程建议参考之前的文章《通过NextChat(ChatGPT-Next-Web)低成本给自己或客户部署GPT程序》,在Vercel上部署的方法比较灵活,因为可以自由更改程序内容,所以推荐大家通过Vercel方式部署。
但是最近也收到部分用户的反馈,想要将NextChat部署在国内服务器上,通过Docker部署的时候出现了问题,所以本篇就作为上一篇NextChat文章的补充,教大家如何顺利在国内服务器上部署NextChat程序。
如果你需要国内服务器,推荐购买阿里云99元/年2C2H3M服务器,续费同价拥有超值性价比,请通过链接购买:
https://www.aliyun.com/minisite/goods?userCode=l5o4wpuq
操作方法
1、安装宝塔和Docker。
因为宝塔的可视化反代操作简单,所以建议你安装。
2、通过宝塔打开终端。并输入以下命令拉取docker镜像。
docker pull dockerpull.com/yidadaa/chatgpt-next-web
以上命令的变化在于将原来的docker拉取地址替换为了国内可用的镜像加速地址dockerpull.com,国内有很多类似的镜像加速地址,如果上述命令依旧无法拉取,建议查看文章《国内服务器连接Docker方法》。
3、启动docker容器。
docker run -d -p 3000:3000 \
-e BASE_URL=https://api.juheai.top \
-e OPENAI_API_KEY=sk-xxxx \
-e ENABLE_BALANCE_QUERY=1 \
-e CUSTOM_MODELS=-all,+gpt-3.5-turbo@openai=gpt-3.5-turbo,+gpt-4o@openai=gpt-4o,+gpt-4o-2024-08-06@openai=gpt-4o-2024-08-06,+gpt-4-turbo@openai=gpt-4-turbo,+gpt-4-turbo-preview@openai=gpt-4-turbo-preview,+gpt-4-1106-preview@openai=gpt-4-1106-preview,+gpt-4-0125-preview@openai=gpt-4-0125-preview,+gpt-4o-mini@openai=gpt-4o-mini,+gpt-4-all@openai=gpt-4-all,+llama-3.1-405b@openai=llama-3.1-405b,+llama-3.1-70b@openai=llama-3.1-70b,+llama-3.1-8b@openai=llama-3.1-8b,+claude-3-opus-20240229@openai=claude-3-opus-20240229,+claude-3-5-sonnet-20240620@openai=claude-3-5-sonnet-20240620,+claude-3-haiku-20240307@openai=claude-3-haiku-20240307,+deepseek-chat@openai=deepseek-chat,+flux-pro@openai=flux-pro \
-e DEFAULT_MODEL=gpt-4o \
yidadaa/chatgpt-next-web
注意,以上启动添加了用户常用的环境变量,你还可以根据官方给出的环境变量自行调整。
- OPENAI_API_KEY:OpanAI 密钥,你在 openai 账户页面申请的 api key,使用英文逗号隔开多个 key,这样可以随机轮询这些 key。
- CODE:访问密码,可选,可以使用逗号隔开多个密码。
- BASE_URL:OpenAI 接口代理 URL,如果你手动配置了 openai 接口代理,请填写此选项。
- HIDE_USER_API_KEY:如果你不想让用户自行填入 API Key,将此环境变量设置为 1 即可。
- DISABLE_GPT4:如果你不想让用户使用 GPT-4,将此环境变量设置为 1 即可。
- ENABLE_BALANCE_QUERY:如果你想启用余额查询功能,将此环境变量设置为 1 即可。
- CUSTOM_MODELS:用来控制模型列表,使用 + 增加一个模型,使用 – 来隐藏一个模型,使用 模型名=展示名 来自定义模型的展示名,用英文逗号隔开。这里默认添加模型后会自动加出Openai和Azure两种渠道的模型,所以如果你用的是中转API,仅保留OpenAI的模型则可以这样填写:+gpt-4o@openai=gpt-4o
- DEFAULT_MODEL:更改默认模型。
注意,以上是常用环境变量,全部环境变量查询原项目文档>>
如果你还没有API-Key来使用此项目,建议在此购买(已稳定服务1000+企业级客户,稳定率超99%):7*24小时购买地址>>
4、访问IP+端口,此时应该可以正常使用了。
5、需要用域名链接访问则按照此步骤添加Nginx反代。
- 首先,选择一个域名并解析至当前服务器。
- 然后根据下图图示,将ip+端口反代至对应的解析域名即可。
至此在国内服务器部署NextChat全部完成。
6、关于更新。
找到宝塔Docker模块,并删除当前正在运行的容器。
然后跟重新部署的步骤就一样了。
docker pull dockerpull.com/yidadaa/chatgpt-next-web
docker run -d -p 3000:3000 \
-e BASE_URL=https://api.juheai.top \
-e OPENAI_API_KEY=sk-xxxx \
-e ENABLE_BALANCE_QUERY=1 \
-e CUSTOM_MODELS=-all,+gpt-3.5-turbo@openai=gpt-3.5-turbo,+gpt-4o@openai=gpt-4o,+gpt-4o-2024-08-06@openai=gpt-4o-2024-08-06,+gpt-4-turbo@openai=gpt-4-turbo,+gpt-4-turbo-preview@openai=gpt-4-turbo-preview,+gpt-4-1106-preview@openai=gpt-4-1106-preview,+gpt-4-0125-preview@openai=gpt-4-0125-preview,+gpt-4o-mini@openai=gpt-4o-mini,+gpt-4-all@openai=gpt-4-all,+llama-3.1-405b@openai=llama-3.1-405b,+llama-3.1-70b@openai=llama-3.1-70b,+llama-3.1-8b@openai=llama-3.1-8b,+claude-3-opus-20240229@openai=claude-3-opus-20240229,+claude-3-5-sonnet-20240620@openai=claude-3-5-sonnet-20240620,+claude-3-haiku-20240307@openai=claude-3-haiku-20240307,+deepseek-chat@openai=deepseek-chat,+flux-pro@openai=flux-pro \
-e DEFAULT_MODEL=gpt-4o \
yidadaa/chatgpt-next-web
以上便是部署到更新的全部步骤。
总结
国内服务器Docker部署的核心问题就在于网络不通,只要通过代理(把自己翻出去)或者国内镜像加速(把Docker翻进来)二者其一的任意方式解决此问题,NextChat如何在国内部署的问题就全部迎刃而解了。