# 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`.