本教程参考了网上诸多教程,使用了开源项目Chatgpt-web,亲测可用。使用Digitalocean的服务器,不需要翻墙。

所花费用:

  • Digitalocean服务器,4美金/月。注册有200美金,2个月有效。
  • wildcard开卡费用,15美金。
  • openai token费用:每100000个token 4美分,大概5万个汉字。

先决条件

1.Digitalocean的账号
2.OpenAI的账号
推荐使用wildcard ,openai只支持信用卡支付,但不接受中国信用卡支付。同时,创建API key时,需要验证手机号,不支持中国手机号验证。使用wildcard,注册账号、验证手机号、开卡一条龙服务。开卡费15美金,充值费率3%。跟着wildcard的步骤一步步完成,把申请到的OpenAI 的API KEY保存下来,后面会用到。

下面开始

一.创建Digitalocean服务器

我选的是新加坡数据中心,选择CentOS 8.

CPU options
纯个人使用的话,选择4美金/月的最低配版即可。


Autentication Method步骤时,要选择SSH Key。选择这个选项时,Digitalocean的Console有对应教程如何创建SSH Key.

最后,点击Create Droplet,等待服务器创建成功。创建成功后,你可以看到服务器IP,红框部分。这个copy下来备用。

二.服务器安装Docker

如图所示,点击Access Console,打开服务器的terminal

Terminal窗口加载成功后,安装Docker,我参考的是CENTOS8.0安装DOCKER&DOCKER-COMPOSE。以下步骤为搬运,亲测可用。

1.更新yum

yum update

2.下载docker-ce的repo

curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo

3. 安装依赖(这是相比centos7的关键步骤)此过程可能需要一路输入 y

yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm

4.安装docker-ce

yum install docker-ce

5.启动docker

systemctl start docker

6.开机启动docker

systemctl enable docker

7.安装docker-compose

sudo wget https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m) -O /usr/local/bin/docker-compose

在这里我遇到了报错:sudo: wget:command not found

解决办法:安装wget,运行

yum -y install wget

8.添加操作权限

sudo chmod +x /usr/local/bin/docker-compose

9.设置快捷

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

10.查看docker-compose 版本

docker-compose --version

至此,Docker安装完成。

三.服务器部署Chatgpt

我参考了教程docker部署chat-web,实现自己的ChatGPT_chatweb-CSDN博客,以下为搬运,亲测可用。

1、创建docker-compose.yml文件

(1)在服务器上创建一个目录:chatgpt_web

mkdir chatgpt_web && cd chatgpt_web

(2)创建docker-compose.yml文件

vim docker-compose.yml

在这里我遇到了报错:-bash: vim: command not found

解决办法:

  • 安装vim
yum -y install vim*
  • 测试 vim /etc/hosts,按ESC,然后输入
 :wq

回车,退出

(3)以下内容填写到yml配置文件中并保存

以下内容填写到yml配置文件中并保存

version: '3'
services:
  app:
    image: chenzhaoyu94/chatgpt-web:latest
    ports:
      - 3002:3002
    environment:
      # api秘钥
      OPENAI_API_KEY: sk-xxx(修改为一开始自己申请的秘钥)
      # 超时,单位毫秒,可选
      TIMEOUT_MS: 60000

保存: 按下Esc,然后输入

:wq  

回车

注意:大家在编写yml文件时。要把注释删掉,否则有可能会报错。

2、部署并启动运行

docker-compose up -d

3、登录chatgpt_web页面

运行成功后,在浏览器直接访问(需要开放3002端口)

http://服务器ip:3002

#服务器IP为一开始你保存下来的IP

成功!

4、其他问题解决

(1)如果遇到 fetch failed,可以点上面的圈刷新

如果刷新没有用的话,重启一下docker,然后重新启动服务

#重启docker

systemctl restart docker

#docker 启动服务

docker start 容器id

#查看容器ID

docker ps -a

参考链接:

1.CENTOS8.0安装DOCKER&DOCKER-COMPOSE_centos8.0安装docker&docker-compose_wd520521的博客-csdn博-CSDN博客

2.docker部署chat-web,实现自己的ChatGPT_chatweb-CSDN博客