Configuration Reference
Database
By default, the backend uses the built-in Sqlite to store data. If an external database is not connected, the data will be lost after the container is destroyed.
The chatgpt-ui-wsgi-server
image provides the environment variable DB_URL
to configure the connection to an external database. The following table shows the link format of the DB_URL
.
DB | LINK |
---|---|
PostgreSQL | postgres://USER:PASSWORD@HOST:PORT/DATABASE_NAME |
MySQL | mysql://USER:PASSWORD@HOST:PORT/DATABASE_NAME |
SQLite | sqlite:///PATH |
For example, if I am using PostgreSQL, the configuration is as follows:
backend-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:latest
environment:
- DB_URL=postgres://postgres:postgrespw@localhost:49153/chatgpt
Email verification
If you open the user registration feature and need to send email activation links to users, you need to configure the following environment variables in the wsgi-server
service:
Parameters | Description | Default |
---|---|---|
ACCOUNT_EMAIL_VERIFICATION | E-mail authentication method, optional value: none, optional, mandatory | optional |
EMAIL_HOST | SMTP server address | smtp.mailgun.org |
EMAIL_PORT | SMTP server port | 587 |
EMAIL_HOST_USER | User name | - |
EMAIL_HOST_PASSWORD | Password | - |
EMAIL_USE_TLS | Whether to encrypt | True |
EMAIL_FROM | From email | webmaster@localhost |
API Proxy
If you are unable to request the OpenAI API address due to network restrictions, you can configure a proxy in the wsgi-server
service. You will need to search for how to set up a proxy server on your own.
For example:
backend-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:latest
environment:
- OPENAI_API_PROXY=https://openai.proxy.com/v1
Backend CSRF whitelist
If you encounter CSRF verification failed
while accessing the management background, your APP_DOMAIN
may not be configured correctly. Under the wsgi-server
service, there is an environment variable wsgi-server
. Its value should be the address and port of backend-web-server
, default: localhost:9000
.
Suppose I have resolved the domain name chagpt.com
to the server, and my backend-web-server
service is bound to port 9000. The correct configuration is as follows:
backend-wsgi-server:
image: wongsaang/chatgpt-ui-wsgi-server:latest
environment:
- APP_DOMAIN=chagpt.com:9000
Client Configuration
Parameter | Description | Default Value |
---|---|---|
SERVER_DOMAIN | Server Address | http://backend-web-server |
DEFAULT_LOCALE | Default Language | en |
NUXT_PUBLIC_APP_NAME | Application Name | ChatGPT UI |
NUXT_PUBLIC_TYPEWRITER | Enable Typewriter Effect [true/false] | true |
NUXT_PUBLIC_TYPEWRITER_DELAY | Typewriter Effect Delay in milliseconds | 50 |
User Registration Control
After deployment, there is an open_registration
setting under Chat->Settings
in the admin panel to control whether user registration is allowed. The default value is True
(allowing user registration). If not needed, please change it to False
.
Web Search Function Control
This feature is disabled by default. You can enable it in the admin panel under Chat->Settings
. There is a setting called open_web_search
, set its value to True
.
Frugal Mode Control
This feature is enabled by default. You can disable it in the Chat->Settings
section of the management backend. There is a setting called open_frugal_mode_control
in Settings. Set its value to False
.