配置参考
数据库
后端默认使用内置的 Sqlite 来存储数据,如果不连接外部数据库,数据将在容器销毁后丢失。
chatgpt-ui-wsgi-server 镜像提供环境变量 DB_URL 来配置与外部数据库的连接,以下是 DB_URL 的链接格式对照表。
| 数据库 | 链接 |
|---|---|
| PostgreSQL | postgres://USER:PASSWORD@HOST:PORT/DATABASE_NAME |
| MySQL | mysql://USER:PASSWORD@HOST:PORT/DATABASE_NAME |
| SQLite | sqlite:///PATH |
例如我使用 PostgreSQL,则配置如下:
backend-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:latest
environment:
- DB_URL=postgres://postgres:postgrespw@localhost:49153/chatgpt
邮箱验证
如果你开放用户注册功能,并需要向用户发送邮箱激活链接,需要在 wsgi-server 服务中配置以下环境变量:
| 参数 | 说明 | 默认值 |
|---|---|---|
| ACCOUNT_EMAIL_VERIFICATION | 邮箱验证方式,可选值: none, optional, mandatory | optional |
| EMAIL_HOST | SMTP 服务器地址 | smtp.mailgun.org |
| EMAIL_PORT | SMTP 服务器端口号 | 587 |
| EMAIL_HOST_USER | 用户名 | - |
| EMAIL_HOST_PASSWORD | 密码 | - |
| EMAIL_USE_TLS | 是否加密 | True |
| EMAIL_FROM | 发件邮箱 | webmaster@localhost |
API 代理
如果您的网络无法请求 OpenAI 的 API 地址,您可以在 wsgi-server 服务中配置代理,如何搭建代理服务,需要您自行搜索。
例如:
backend-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:latest
environment:
- OPENAI_API_PROXY=https://openai.proxy.com/v1 # 注意,域名后面需要带上 v1
后端 CSRF 白名单
如果你在访问管理后台的时候遇到 CSRF verification failed,可能你的 APP_DOMAIN 没有配置对。在 wsgi-server 服务下有个环境变量 wsgi-server。 它的值应该是 backend-web-server 的地址+端口, 默认: localhost:9000。
假如我把 chagpt.com 这个域名解析到了服务器,并且我的 backend-web-server 服务绑定了 9000 这个端口。正确的配置如下:
backend-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:latest
environment:
- APP_DOMAIN=chagpt.com:9000
客户端配置
| 参数 | 说明 | 默认值 |
|---|---|---|
| SERVER_DOMAIN | 服务端地址 | http://backend-web-server |
| DEFAULT_LOCALE | 默认语言 | en |
| NUXT_PUBLIC_APP_NAME | 应用名称 | ChatGPT UI |
| NUXT_PUBLIC_TYPEWRITER | 是否开启 打字机 效果[true/false] | true |
| NUXT_PUBLIC_TYPEWRITER_DELAY | 打字机效果的延迟时间,单位:毫秒 | 50 |
用户注册控制
部署完整后,在管理后台的 Chat->Setting 下面有 open_registration 设置项,用于控制是否开放用户注册。默认是 True (允许用户注册),如果不需要,请改成 False。
网页搜索功能控制
该功能默认处于关闭状态,你可以在管理后台的 Chat->Settings 中开启它,在 Settings 中有一个 open_web_search 的设置项,把它的值设置为 True。
节俭模式控制
该功能默认处于开启状态,你可以在管理后台的 Chat->Settings 中关闭它,在 Settings 中有一个 open_frugal_mode_control 的设置项,把它的值设置为 False。