国内服务器部署NextChat程序教程

news2024/9/20 18:44:47

nextchat封面

问题描述

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:更改默认模型。

注意,以上是常用环境变量,全部环境变量查询原项目文档>>

4、访问IP+端口,此时应该可以正常使用了。

5、需要用域名链接访问则按照此步骤添加Nginx反代。

  • 首先,选择一个域名并解析至当前服务器。
  • 然后根据下图图示,将ip+端口反代至对应的解析域名即可。

添加反代

ssl

至此在国内服务器部署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如何在国内部署的问题就全部迎刃而解了。

原文链接:

国内服务器部署NextChat程序教程 - 聚合AI本文将详细介绍在中国大陆服务器上部署NextChat程序的方法。由于网络限制,中国大陆服务器无法直接连接到Docker,并因此无法拉取Docker镜像。本文将通过使用镜像加速或者代理的方式,帮助你解决如何在国内服务器部署NextChat的问题。icon-default.png?t=N7T8https://www.gptacg.com/tutorial-setting-up-nextchat-china-servers/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2097935.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RK3568平台(内存篇)Linux内存管理

一.什么是内存 最直观的,我们买手机,电脑,内存条,都会标明内存是多大,例如途中的8G,16G,128G都指的内存大小。 我们应该都听说过 RAM 存储器,它是一种半导体存储器件。RAM 是英文单词 Random 的缩写,即“随机”的意思。所以 RAM 存储器也称为“随机存储器”。 那么…

Docker续7:docker部署nmt续1:使用haproxy代理nginx

[rootlocalhost ~]# docker stop 30 //停止nginx容器 30 [rootlocalhost ~]# docker ps --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS …

【管理】职业规划三叶草

持续更新。。。。。。。。。。。。。。。 【管理】职业规划三叶草 三叶草模型是什么第一片叶子:兴趣(Interest)第二片叶子:能力(Ability)第三片叶子:价值(Value)将三叶草…

【活动预约】镭速邀您莅临2024年行业案例分享专场线下沙龙活动!

​为了加强行业内外渠道集成商及相关生态合作伙伴的交流合作,共同应对数据安全挑战,提升内外网安全交换系统的应用范围及应用效果,镭速即将举办一场不容错过的2024年行业案例分享专场线下沙龙活动! 活动亮点 ➣行业前沿&#x…

Spring扩展点系列-InstantiationAwareBeanPostProcessor

文章目录 简介测试一1、配置文件Bean注册2、单元测试方法3、测试类4、输出结果结论 测试二1、测试类2、输出结果结论 源码解析postProcessPropertiesCommonAnnotationBeanPostProcessorAnnotationInjectedBeanPostProcessor 总结 简介 spring容器中Bean的生命周期内所有可扩展…

Apache DolphinScheduler大规模任务调度系统对大数据实时Flink任务支持

转载自神龙大侠 我是用olphinScheduler 3.2.1版本做源代码编译部署(部署方式参考我的另外一篇文档《源代码编译,Apache DolphinScheduler前后端分离部署解决方案》) 二进制文件部署本文也适用,只需要修改相对应的配置即可。 资…

科普小课堂:中等硬度的床垫,合适的睡姿,通过日常力量练习提升自身能力以支撑脊柱形态。

文章目录 引言I 选择合适床垫的指标3:1 原则睡得舒服与否II 日常力量练习翻书-胸椎活动度练习猫式-脊柱整体活动度练习III 知识扩展人体脊柱“S”型生理曲线软床垫对腰椎的影响硬床垫对腰椎的影响合适的睡姿引言 女性瘦型体型人群脊柱曲线相对较明显,尤其是腰部曲线,需选择承…

优化LabVIEW中TCP通信速度的方法

在LabVIEW中,TCP通信速度较慢可能由多种因素导致,如数据包处理延迟、阻塞式读取或数据解析效率低等。通过调整读取模式、优化数据处理逻辑、以及使用并行处理结构,可以显著提升TCP通信的速度,使其接近第三方调试工具的表现。LabVI…

DNS介绍(hosts文件,域名结构),面试题(输入url后会发生什么)

目录 DNS 引入 hosts文件 域名 主域名 结构 www 公司/组织/个人名称 后缀 面试题 简单回答 部分https 细节 DNS 引入 域名介绍,url的介绍原理特殊字符的处理,网络行为,http协议请求/响应的格式结构,状态码介绍,临时/永久重定向,http报头常见字段(长/短连接介绍,lo…

阿里云身份证二要素详细使用

初步: 先登录阿里云(找官网链接) 2、云市场搜索身份证二要素 看个人需求选择 3、我选择的是下边这个 4、接下来看文档具体调用(在请求示例中有选择语言的代码 我选择的就是java) 5、在控制台看appcode码 放入代码中…

如何解决企业防盗版/防勒索病毒?一个方案五步搞定!

SPN(Sandbox Proxy Network)解决方案通过创建一个隔离的沙盒环境,为企业提供了一个安全、受控的互联网访问方式。该方案特别适用于防止盗版软件的骚扰和勒索病毒的攻击,确保企业数据和网络环境的安全。 1. 核心功能 物理隔离&…

u盘数据如何恢复,数据恢复技巧分享

在数字化时代,U盘作为便携的数据存储设备,广泛应用于工作、学习和生活中。然而,误删文件、格式化错误或物理损坏等意外情况时有发生,导致重要数据丢失。本文将为你提供一套全面的U盘数据恢复指南,从基础方法到进阶技巧…

Unity(2022.3.41LTS) - UI详细介绍-画布

目录 零. 简介 一、图像的基本属性 二、图像的类型 三、图像的使用方法 四、代码控制图像 五、优化和注意事项 零. 简介 在 Unity 中,图像(Image)是一种常用的 UI 元素,用于显示静态图片或 Sprite(精灵图&#…

美杜莎(Medusa)勒索软件如何把你的文件变成了“石头”

写在前面的话 近期,Unit 42的研究人员在分析Medusa(美杜莎)勒索软件活动时,发现该活动的升级和勒索策略发生了很大变化。 Medusa勒索软件活动在2023年初上线了一个名为“Medusa Blog”的专用数据泄露网站,而该活动背…

利用Go语言模拟实现Raft协议

近来学习到区块链,想要模拟实现 Raft 协议。但是发现网上教程很杂,或者说很多教程并不适合于新手从零开始进行实现。 本文将从头开始复现个人模拟实现 Raft 的过程,完成后整个模拟后,读者应该学会 Go 语言的基本语法、Rpc 编程的基…

路由器内部到底是啥结构?不懂不算网工人

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 在现代互联网中,路由器作为连接不同网络的枢纽,发挥着至关重要的作用。无论是简单的家…

通用文字识别API如何通过Java进行调用?(一)

一、什么是通用文字识别? 通用文字识别又叫通用文字OCR识别,文字识别,文字图片识别,通用文字识别是一种算法识别技术,它能够将图像中的文字转换为可编辑的文本格式,可支持多种类型图片类型。 二、通用文字…

java 基于Swing的随机点名

由于教学的原因,编写的一个随机点名程序,废话不多说,直接上代码: package org.example;import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.…

CAN(江科大CAN学习)

1.CAN CAN简介 • CAN 总线( Controller Area Network Bus )控制器局域网总线 CAN总线构建的是一种局域网网络,每个挂载在can总线上的设备,都可以利用这个局域网去发送自己的信息,也可以接受局域网的各种消息&#x…

Unity中保存数据的方法

一、概述 Unity中可用于持久化的方式有: 1)通过ScriptableObject在可编辑模式下保存数据 2)通过excel、json等文件实现数据的可持久化 二、ScriptableObject的使用 1、使用背景 假如需要制作子弹预设体,每个子弹上有speed速…