上篇教程写到利用docker镜像搭建一个ChatGPT Web镜像站,但是运行镜像站运行后发现右下角的用户栏是其他人的信息,更改后缺无法同步到其他设备。那么这篇帖子,我们尝试从原项目下手,去制作一个属于自己的docker镜像并部署。
项目原地址:GitHub - Chanzhaoyu/chatgpt-web: 用 Express 和 Vue3 搭建的 ChatGPT 演示网页
前期准备:一台服务器(必须是大陆以外服务器,内存在2G及以上,使用系统为CentOS ),shall工具
搭建项目
利用shall工具SSH连接服务器
SSH 连接服务器后,CentOS系统中默认是没有wget包,所以我们先使用命令安装wget包
yum -y install wget
安装Node
通过命令安装 Node v16 版本
cd /usr/local
wget https://npmmirror.com/mirrors/node/v16.18.1/node-v16.18.1-linux-x64.tar.xz
解压重命名到 nodejs
tar -xvf node-v16.18.1-linux-x64.tar.xz
mv node-v16.18.1-linux-x64 nodejs
rm -rf node-v16.18.1-linux-x64.tar.xz
创建软连接
ln -s /usr/local/nodejs/bin/node /usr/bin
ln -s /usr/local/nodejs/bin/npm /usr/bin
ln -s /usr/local/nodejs/bin/npx /usr/bin
查看node版本
node -v
查看npm版本
npm -v
安装PNPM
安装 PNPM 并创建软连接
npm install -g pnpm
ln -s /usr/local/nodejs/bin/pnpm /usr/bin
ln -s /usr/local/nodejs/bin/pnpx /usr/bin
查看PNPM版本
pnpm -v
安装docker-ce
安装所需的软件包。yum-utils 提供了 yum-config-manager 实用程序,并且 devicemapper 存储驱动需要device-mapper-persistent-data 和 lvm2
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
使用下列命令设置 stable 镜像仓库
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
更新 yum 软件包索引
sudo yum makecache fast
安装 docker-ce(社区版):
sudo yum install docker-ce
查看版本:
docker version
最后将 Docker 启动:
systemctl start docker
若此步骤出现问题可参考Docker-社区版(CE)安装_docker 安装社区版本ce_独孤小标的博客-CSDN博客
下载项目
首先安装 git
yum install git
下载项目(默认安装在/root/目录下)
git clone https://github.com/Chanzhaoyu/chatgpt-web.git
下载完成后,在root目录下会有一个chatgpt-web的文件夹,此时我们需要对一些文件进行修改,例如网站的用户部分
首先,我们需要将chatgpt-web/service/目录下文件.env.example复制一份,并将其改名为.env,保存在同目录下
此时如果我们需要更改右下角的用户信息,你可以修改chatgpt-web/service/src/store/modules/user/helper.ts文件中的defaultSetting()内容,例如我修改的:
export function defaultSetting(): UserState {
return {
userInfo: {
avatar: '图片链接',
name: '欢迎关注我',
description: '关注我 <a href="链接" class="text-blue-500" target="_blank" >关注我</a>',
},
}
}
更改好后保存文件
安装依赖
(不知道怎么进入目录,请学习一下cd指令)
在chatgpt-web/service/目录下安装后端依赖:
pnpm install
在chatgpt-web/目录下安装前端依赖:
pnpm bootstrap
打包
在chatgpt-web/目录下执行 build 操作:
docker build -t chatgpt-web .
注意后面有个 .
等到打包完成,我们就可以运行项目了
docker run --name chatgpt-web -d -p 80:3002 --env OPENAI_API_KEY=你的API chatgpt-web
因为我们使用的是80端口,所以等到运行完成后,我们就可以通过你的服务器ip进行使用,当然我们可以使用其他端口,只需将80改为其他端口即可,访问时使用ip:端口号即可,注意避开常用端口。
当然我们也可以把镜像上传到docker hub上让别人也可以使用,步骤简单,大家可以自行通过查找资料尝试,如果有需要,后面我会写一篇教程。
谢谢观看,如有API需要可以联系我哦!
未经允许 请勿转载