【Docker】部署ChatGPT Next Web

一、ChatGPT Next Web介绍

1.1 主要功能

  • 在 1 分钟内使用 Vercel 免费一键部署
  • 精心设计的 UI,响应式设计,支持深色模式
  • 极快的首屏加载速度(~100kb)
  • 海量的内置 prompt 列表,来自中文英文
  • 自动压缩上下文聊天记录,在节省 Token 的同时支持超长对话
  • 一键导出聊天记录,完整的 Markdown 支持
  • 拥有自己的域名?好上加好,绑定后即可在任何地方
  • 无障碍快速访问

1.2 项目展示

image-20231212215518278

GitHub地址:https://github.com/Yidadaa/ChatGPT-Next-Web

演示 Demo: https://chat-gpt-next-web.vercel.app/

二、搭建步骤

2.1 Vercel一键部署

  1. 准备好你的 OpenAI API Key
  2. 点击右侧按钮开始部署: Deploy with Vercel,直接使用 Github 账号登录即可,记得在环境变量页填入 API Key 和 页面访问密码 CODE
  3. 部署完毕后,即可开始使用
  4. 绑定自定义域名(可选):Vercel 分配的域名 DNS 在某些区域被污染了,绑定自定义域名即可直连。

2.2 VPS部署

1
2
3
4
5
mkdir -p /root/docker_data/chatgpt-next-web

cd /root/docker_data/chatgpt-next-web

vim docker-compose.yml

英文模式下输入 i ,粘贴以下内容

1
2
3
4
5
6
7
8
9
version: '3.3'
services:
chatgpt-next-web:
ports:
- '3000:3000'
environment:
- OPENAI_API_KEY=sk-xxxx # 填写你的API KEY
- CODE=your-password # 填一个密码,不然你的额度很快就会被刷完
image: yidadaa/chatgpt-next-web

修改以下内容

OPENAI_API_KEY : 你的 OpenAI key,可在登录OpenAi后访问https://platform.openai.com/api-keys 进行创建

CODE: 访问密码,别人可以用你的访问密码进行登录,不过消耗的是你的Api额度

修改好之后,按一下 esc,然后 :wq 保存退出

安全组放行 3000端口,也可调整为其他端口,例如调整为8080端口

1
2
ports:
- '8080:3000'

新增放行规则

image-20231212224301362

执行 docker-compose up -d 进行部署

image-20231212224328365

部署成功后首次访问会进入如下界面,可输入访问密码进行访问

image-20231212231934511

三、更新

1
2
3
4
5
6
7
8
9
10
11
cd /root/docker_data/chatgpt-next-web

docker-compose down

cp -r /root/docker_data/chatgpt-next-web /root/docker_data/chatgpt-next-web.archive # 万事先备份,以防万一

docker-compose pull

docker-compose up -d # 请不要使用 docker-compose stop 来停止容器,因为这么做需要额外的时间等待容器停止;docker-compose up -d 直接升级容器时会自动停止并立刻重建新的容器,完全没有必要浪费那些时间。

docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像

提示:

1
2
WARNING! This will remove all dangling images.
Are you sure you want to continue? [y/N]

输入 y

四、卸载

1
2
3
4
5
6
7
cd /root/docker_data/chatgpt-next-web

docker-compose down

cd ..

rm -rf /root/docker_data/chatgpt-next-web # 完全删除映射到本地的数据