配置参考

数据库

后端默认使用内置的 Sqlite 来存储数据,如果不连接外部数据库,数据将在容器销毁后丢失。

chatgpt-ui-wsgi-server 镜像提供环境变量 DB_URL 来配置与外部数据库的连接,以下是 DB_URL 的链接格式对照表。

数据库链接
PostgreSQLpostgres://USER:PASSWORD@HOST:PORT/DATABASE_NAME
MySQLmysql://USER:PASSWORD@HOST:PORT/DATABASE_NAME
SQLitesqlite:///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, mandatoryoptional
EMAIL_HOSTSMTP 服务器地址smtp.mailgun.org
EMAIL_PORTSMTP 服务器端口号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

Last Updated:
Contributors: Rafi, AI&I