唠唠闲话
GitHub 项目地址:https://github.com/Chanzhaoyu/chatgpt-web.git
方案 |
优点 |
缺点 |
使用 RailWay 部署 |
无需服务器 |
若无绑卡,有使用限制 |
pnpm 部署 |
支持服务器/本地部署,改动方便 |
需配置反向代理,配置环境 |
使用 docker 部署 |
支持服务器/本地部署,操作简单 |
需配置反向代理,前端改动不方便 |
这里仅介绍方案3,反向代理的配置参考这篇:「API 代理转发 | ChatGPT 应用实战」。
配置教程
编写 docker-compose.yml 文件,内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| version: '3'
services: app: container_name: chatgpt-web-gpt4 image: rexwzh/chatgpt-web:v0.0.2 ports: - 3002:3002 environment: OPENAI_API_KEY: "${OPENAI_API_KEY}" OPENAI_ACCESS_TOKEN: "${OPENAI_ACCESS_TOKEN}" OPENAI_API_BASE_URL: "${OPENAI_API_BASE_URL}" OPENAI_API_MODEL: "${OPENAI_API_MODEL}" API_REVERSE_PROXY: "${API_REVERSE_PROXY}" AUTH_SECRET_KEY: "${AUTH_SECRET_KEY}" MAX_REQUEST_PER_HOUR: "${MAX_REQUEST_PER_HOUR}" TIMEOUT_MS: "${TIMEOUT_MS}" SOCKS_PROXY_HOST: "${SOCKS_PROXY_HOST}" SOCKS_PROXY_PORT: "${SOCKS_PROXY_PORT}" SOCKS_PROXY_USERNAME: "${SOCKS_PROXY_USERNAME}" SOCKS_PROXY_PASSWORD: "${SOCKS_PROXY_PASSWORD}" HTTPS_PROXY: "${HTTPS_PROXY}" env_file: - .env
|
简单说明:
container_name
:容器名称,可选
image
:镜像名,这里用个人重构的镜像,改了头像和简介,原始镜像为 chenzhaoyu94/chatgpt-web
ports
:左侧填实际访问端口,可根据需要修改,右侧为容器端口,通常保持默认
environment
:从文件读取环境变量
到这里,我们还需要编写环境变量,提供具体的配置参数,新建 .env
文件,内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| # 二选一 OPENAI_API_KEY= # 二选一 OPENAI_ACCESS_TOKEN=
# API接口地址,可选,设置 OPENAI_API_KEY 时可用 OPENAI_API_BASE_URL= # API模型,可选,设置 OPENAI_API_KEY 时可用 OPENAI_API_MODEL= # 反向代理,可选 API_REVERSE_PROXY= # 访问权限密钥,可选 AUTH_SECRET_KEY=
# 每小时最大请求次数,可选,默认无限 MAX_REQUEST_PER_HOUR=0 # 超时,单位毫秒,可选 TIMEOUT_MS=0 # Socks代理,可选,和 SOCKS_PROXY_PORT 一起时生效 SOCKS_PROXY_HOST= # Socks代理端口,可选,和 SOCKS_PROXY_HOST 一起时生效 SOCKS_PROXY_PORT= # Socks代理用户名,可选,和 SOCKS_PROXY_HOST & SOCKS_PROXY_PORT 一起时生效 SOCKS_PROXY_USERNAME= # Socks代理密码,可选,和 SOCKS_PROXY_HOST & SOCKS_PROXY_PORT 一起时生效 SOCKS_PROXY_PASSWORD= # HTTPS_PROXY 代理,可选 HTTPS_PROXY=
|
简单说明:
OPENAI_API_KEY
和 OPENAI_ACCESS_TOKEN
二选一,其中 OPENAI_API_KEY
优先级更高,Access token 可以在 web 端登录后访问 https://beta.openai.com/api/auth/session 获取
OPENAI_API_BASE_URL
填写反向代理地址,对应 api key 的方式
OPENAI_API_MODEL
填写模型名称,选 api key 时生效,默认为 gpt-3.5-turbo
API_REVERSE_PROXY
填写反向代理地址,对应 access token 的方式
AUTH_SECRET_KEY
填写访问密钥,可选
部署
编写好这两个文件后,执行 docker-compose up -d
,访问服务器的 3004 端口即可。
修改镜像
修改图标,链接等,然后
1 2 3 4 5 6 7
| docker build -t chatgpt-web:v0.0.1 .
docker login
docker tag chatgpt-web:v0.0.1 rexwzh/chatgpt-web:v0.0.1
docker push rexwzh/chatgpt-web:v0.0.1
|