自由,分享
使用开源项目部署chatgpt-web

首先感谢作者Chanzhaoyu的开源项目chatgpt-web

使用docker部署

安装docker和docker-compose
pacman -S docker docker-compose
systemctl start docker
在家目录新建任意文件夹ai
mkdir ai
cd ai
nano docker-compose.yaml
填写内容

version: '3'
services:
  app:
    image: chenzhaoyu94/chatgpt-web # 总是使用 latest ,更新时重新 pull 该 tag 镜像即可
    ports:
      - 3002:3002
    environment:
      # 二选一
      OPENAI_API_KEY: 'sg-lvUDggtHJTtXNoKAygg9T3yybkFtCtEtOlubFCy6XY6tBCyy'
      # 二选一
      OPENAI_ACCESS_TOKEN: xxxxxx
      # API接口地址,可选,设置 OPENAI_API_KEY 时可用
      OPENAI_API_BASE_URL:  'https://api.openai.com'
      # API模型,可选,设置 OPENAI_API_KEY 时可用
      OPENAI_API_MODEL: 'gpt-3.5-turbo-0301'
      # 反向代理,可选
      API_REVERSE_PROXY: xxx
      # 访问权限密钥,可选
      AUTH_SECRET_KEY: 'pcb'
      # 超时,单位毫秒,可选
      TIMEOUT_MS: 60000
      # Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效
      #SOCKS_PROXY_HOST: xxxx
      # Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效
      #SOCKS_PROXY_PORT: xxxx

后台运行容器
docker compose up -d
此时已实现ip:3002可以访问了
如果需要停止:docker compose stop
如果想要删除生成的文件 :docker compose down

配置域名访问

继续完善,配置nginx代理
pacman -S nginx certbot-nginx
先配置域名加80端口访问了。

server{
	server_name  you_domain;
    listen	80;
    types_hash_max_size 2048;
    types_hash_bucket_size 128;
    location  / {
    proxy_pass http://127.0.0.1:3002;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
 }
}

先检测nginx配置文件是否正常:sudo nginx -t
再重载配置文件:sudo nginx -s reload
使用http,此时域名已经可以访问了

为了信息安全,不被窃取,不被劫持插入广告,需要配置ssl,
pacman -S certbot-nginx
sudo certbot --nginx -d you_domain
至此全部结束。
这是截图
gpt示例图