|
|
---
|
|
|
title: Customize LobeChat Deployment with Environment Variables
|
|
|
description: >-
|
|
|
Learn about the common environment variables used to customize LobeChat
|
|
|
deployment, including access code, OAuth SSO, base path, and default agent
|
|
|
configuration.
|
|
|
tags:
|
|
|
- LobeChat
|
|
|
- environment variables
|
|
|
- deployment
|
|
|
- access code
|
|
|
- OAuth SSO
|
|
|
- base path
|
|
|
- default agent configuration
|
|
|
---
|
|
|
|
|
|
# Environment Variables
|
|
|
|
|
|
LobeChat provides some additional configuration options during deployment, which can be customized using environment variables.
|
|
|
|
|
|
## Common Variables
|
|
|
|
|
|
### `ACCESS_CODE`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Add a password to access the LobeChat service. You can set a long password to prevent brute force attacks.
|
|
|
- Default: -
|
|
|
- Example: `awCTe)re_r74` or `rtrt_ewee3@09!`
|
|
|
|
|
|
### `API_KEY_SELECT_MODE`
|
|
|
|
|
|
- Type:Optional
|
|
|
- Description:Controls the mode for selecting the API Key when multiple API Keys are available. Currently supports `random` and `turn`.
|
|
|
- Default:`random`
|
|
|
- Example:`random` or `turn`
|
|
|
|
|
|
When using the `random` mode, a random API Key will be selected from the available multiple API Keys.
|
|
|
|
|
|
When using the `turn` mode, the API Keys will be retrieved in a polling manner according to the specified order.
|
|
|
|
|
|
### `NEXT_PUBLIC_BASE_PATH`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Add a `basePath` for LobeChat.
|
|
|
- Default: -
|
|
|
- Example: `/test`
|
|
|
|
|
|
### `DEFAULT_AGENT_CONFIG`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Used to configure the default settings for the LobeChat default agent. It supports various data types and structures, including key-value pairs, nested fields, array values, and more.
|
|
|
- Default: -
|
|
|
- Example: `'model=gpt-4-1106-preview;params.max_tokens=300;plugins=search-engine,lobe-image-designer'`
|
|
|
|
|
|
The `DEFAULT_AGENT_CONFIG` is used to configure the default settings for the LobeChat default agent. It supports various data types and structures, including key-value pairs, nested fields, array values, and more. The table below provides detailed information on the configuration options, examples, and corresponding explanations for the `DEFAULT_AGENT_CONFIG` environment variable:
|
|
|
|
|
|
| Configuration Type | Example | Explanation |
|
|
|
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
|
|
|
| Basic Key-Value Pair | `model=gpt-4` | Set the model to `gpt-4`. |
|
|
|
| Nested Field | `tts.sttLocale=en-US` | Set the language locale for the text-to-speech service to `en-US`. |
|
|
|
| Array | `plugins=search-engine,lobe-image-designer` | Enable the `search-engine` and `lobe-image-designer` plugins. |
|
|
|
| Chinese Comma | `plugins=search-engine,lobe-image-designer` | Same as above, demonstrating support for Chinese comma separation. |
|
|
|
| Multiple Configurations | `model=glm-4;provider=zhipu` | Set the model to `glm-4` and the model provider to `zhipu`. |
|
|
|
| Numeric Value | `params.max_tokens=300`, `chatConfig.historyCount=5` | Set the maximum tokens to `300`, Set the number of historical messages to 5. |
|
|
|
| Boolean Value | `chatConfig.enableAutoCreateTopic=true`, `chatConfig.enableCompressThreshold=true`, `chatConfig.enableHistoryCount=true` | Enable automatic topic creation, History length compression threshold, number of historical records. |
|
|
|
| Special Characters | `inputTemplate="Hello; I am a bot;"` | Set the input template to `Hello; I am a bot;`. |
|
|
|
| Error Handling | `model=gpt-4;maxToken` | Ignore invalid entry `maxToken` and only parse `model=gpt-4`. |
|
|
|
| Value Override | `model=gpt-4;model=gpt-4-1106-preview` | If a key is repeated, use the value that appears last; in this case, the value of `model` is `gpt-4-1106-preview`. |
|
|
|
|
|
|
Further reading:
|
|
|
|
|
|
- [\[RFC\] 022 - Default Assistant Parameters Configuration via Environment Variables](https://github.com/lobehub/lobe-chat/discussions/913)
|
|
|
|
|
|
### `FEATURE_FLAGS`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Used to control LobeChat's feature functionalities. Supports multiple feature flags, using `+` to add a feature and `-` to disable a feature. Separate multiple feature flags with a comma `,` and enclose the entire value in quotes `"` to avoid parsing errors.
|
|
|
- Default: `-`
|
|
|
- Example: `"-welcome_suggest"`
|
|
|
|
|
|
For specific content, please refer to the [Feature Flags](/docs/self-hosting/advanced/feature-flags) documentation.
|
|
|
|
|
|
### `PROXY_URL`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Used to specify the proxy URL for connecting to external services. The value of this variable should be different in different deployment environments.
|
|
|
- Default: -
|
|
|
- Example: `http://127.0.0.1:7890` or `socks5://localhost:7891`
|
|
|
|
|
|
<Callout type="info">
|
|
|
If you're using Docker Desktop on Windows or macOS, it relies on a virtual machine. In this setup,
|
|
|
`localhost` / `127.0.0.1` refers to the localhost of the container itself. In such cases, please
|
|
|
try using `host.docker.internal` instead of `localhost`.
|
|
|
</Callout>
|
|
|
|
|
|
### `SSRF_ALLOW_PRIVATE_IP_ADDRESS`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Allow to connect private IP address. In a trusted environment, it can be set to true to turn off SSRF protection.
|
|
|
- Default: `0`
|
|
|
- Example: `1` or `0`
|
|
|
|
|
|
### `SSRF_ALLOW_IP_ADDRESS_LIST`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Allow private IP address list, multiple IP addresses are separated by commas. Only when `SSRF_ALLOW_PRIVATE_IP_ADDRESS` is `0`, it takes effect.
|
|
|
- Default: -
|
|
|
- Example: `198.18.1.62,224.0.0.3`
|
|
|
|
|
|
## Plugin Service
|
|
|
|
|
|
### `PLUGINS_INDEX_URL`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Index address of the LobeChat plugin market. If you have deployed the plugin market service on your own, you can use this variable to override the default plugin market address.
|
|
|
- Default: `https://chat-plugins.lobehub.com`
|
|
|
|
|
|
### `PLUGIN_SETTINGS`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Used to configure plugin settings. Use the format `plugin-name:setting-field=setting-value` to configure the settings of the plugin. Separate multiple setting fields with a semicolon `;`, and separate multiple plugin settings with a comma `,`.
|
|
|
- Default: `-`
|
|
|
- Example: `search-engine:SERPAPI_API_KEY=xxxxx,plugin-2:key1=value1;key2=value2`
|
|
|
|
|
|
The above example sets the `SERPAPI_API_KEY` of the `search-engine` plugin to `xxxxx`, and sets `key1` of `plugin-2` to `value1`, and `key2` to `value2`. The generated plugin settings configuration is as follows:
|
|
|
|
|
|
```json
|
|
|
{
|
|
|
"plugin-2": {
|
|
|
"key1": "value1",
|
|
|
"key2": "value2"
|
|
|
},
|
|
|
"search-engine": {
|
|
|
"SERPAPI_API_KEY": "xxxxx"
|
|
|
}
|
|
|
}
|
|
|
```
|
|
|
|
|
|
## Assistant Market
|
|
|
|
|
|
### `AGENTS_INDEX_URL`
|
|
|
|
|
|
- Type: Optional
|
|
|
- Description: Index address of the LobeChat assistant market. If you have deployed the assistant market service on your own, you can use this variable to override the default market address.
|
|
|
- Default: `https://chat-agents.lobehub.com`
|