部署使用 CHAT-NEXT-WEB
基于 Deepseek
1、准备环境
准备一台 LINUX
服务器, 安装 Docker
, 本文使用阿里云的轻量服务器;
由于打算将该项目部署在域名: https://chat.louislan.com
上,所以前置条件是在阿里云轻量服务器控制台防火墙管理页将端口访问限制取消。添加特定端口的访问权限,如图:
2、安装Docker
由于国内运营商访问限制,我这台阿里云服务器无法通过 Docker
官方安装方式安装,故参考阿里云官方的 Dcoker
安装文档:
https://help.aliyun.com/zh/simple-application-server/use-cases/manually-deploy-docker
注:一定要参考官方的安装,不然会出现各种由于网络原因导致的安装不成功;
3、拉取镜像
如果直接通过 docker pull yidadaa/chatgpt-next-web
会提示网络不可达而导致失败,尝试过使用阿里云的镜像加速器配置或配置其他的镜像源,但均告失败。话说,Docker
限制大陆 ip
访问,还用不用了,抵制 Docker
从我做起。
最后的解决方式是使用阿里云的容器镜像服务,建立一个阿里云私有的镜像仓库,先将镜像 push
到阿里云私仓,再从阿里云私仓 pull
到本地。具体方式如下:
3.1 阿里云容器镜像服务
https://cr.console.aliyun.com/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://api.deepseek.com \
-e DEEPSEEK_API_KEY=**** \
-e DEFAULT_MODEL=deepseek-reasoner \
--name chat-next \
chat-next:latest
之后在就可以正常的使用 Deepseek
了!
5、安装 nginx
参考官方文档,基于 Debian
: https://nginx.org/en/linux_packages.html#Debian
6、 安装 Cerbot
配置 HTTPS
访问并自动续签
参考官方文档,基于 Nginx
和 PIP
: https://certbot.eff.org/instructions?ws=nginx&os=pip
注:安装还是尽量参考最新的官方文档,百度、google、AI问答太耗时了,官方文档出错率是最低的!