docs/self-hosting/environment-variables/basic.mdx
LobeHub provides some additional configuration options during deployment, which can be customized using environment variables.
KEY_VAULTS_SECRETKix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=<Callout type={'warning'}> This key is used to encrypt sensitive data. Once set, do not change it, otherwise encrypted data cannot be decrypted. </Callout>
<GenerateSecret envName="KEY_VAULTS_SECRET" />API_KEY_SELECT_MODErandom and turn.randomrandom or turnWhen 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.
DEFAULT_AGENT_CONFIG'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 LobeHub 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:
SYSTEM_AGENT-default=ollama/deepseek-v3 or topic=openai/gpt-4,translation=anthropic/claude-1The SYSTEM_AGENT environment variable supports two configuration methods:
default=provider/model to set the same default configuration for all system agentsagent-name=provider/modelConfiguration details:
| Config Type | Format | Explanation |
|---|---|---|
| Default setting | default=ollama/deepseek-v3 | Set deepseek-v3 from ollama as the default model for all system agents |
| Specific setting | topic=openai/gpt-4 | Set a specific provider and model for topic generation |
| Mixed configuration | default=ollama/deepseek-v3,topic=openai/gpt-4 | First set default values for all agents, then override specific agents |
Available system agents and their functions:
| System Agent | Key Name | Function Description |
|---|---|---|
| Topic Generation | topic | Automatically generates topic names and summaries based on chat content |
| Translation | translation | Handles text translation between multiple languages |
| Metadata Generation | agentMeta | Generates descriptive information and metadata for assistants |
| History Compression | historyCompress | Compresses and organizes history for long conversations, optimizing context management |
| Thread Management | thread | Handles the creation and management of conversation threads |
FEATURE_FLAGS+ 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.-"-welcome_suggest"For specific content, please refer to the Feature Flags documentation.
PROXY_URLhttp://127.0.0.1:7890 or socks5://localhost:7891ENABLE_PROXY_DNS0, all DNS queries are resolved locally. If you encounter API access failures or timeouts in your network environment, try setting this option to 1.01 or 0SSRF_ALLOW_PRIVATE_IP_ADDRESS1 to disable SSRF protection and allow all private IP addresses. In a trusted environment (e.g., internal network), this can be enabled to allow access to internal resources.01 or 0Use Cases:
LobeHub performs SSRF security checks in the following scenarios:
Image/Video URL to Base64 Conversion: When processing media messages (e.g., vision models, multimodal models), LobeHub converts image and video URLs to base64 format. This check prevents malicious users from accessing internal network resources.
Examples:
http://192.168.1.100/admin/secrets.pnghttp://10.0.0.50/internal/meeting.mp4Without SSRF protection, these requests could expose internal network resources.
Web Crawler: When using web crawling features to fetch external content.
Proxy Requests: When proxying external API requests.
Configuration Examples:
# Scenario 1: Public deployment (recommended)
# Block all private IP addresses for security
SSRF_ALLOW_PRIVATE_IP_ADDRESS=0
# Scenario 2: Internal deployment
# Allow all private IP addresses to access internal image servers
SSRF_ALLOW_PRIVATE_IP_ADDRESS=1
# Scenario 3: Hybrid deployment (most common)
# Block private IPs by default, but allow specific trusted internal servers
SSRF_ALLOW_PRIVATE_IP_ADDRESS=0
SSRF_ALLOW_IP_ADDRESS_LIST=192.168.1.100,10.0.0.50
SSRF_ALLOW_IP_ADDRESS_LISTSSRF_ALLOW_PRIVATE_IP_ADDRESS is 0. Use this to allow specific internal IP addresses while keeping SSRF protection enabled for other private IPs.192.168.1.100,10.0.0.50,172.16.0.10Common Use Cases:
192.168.1.10010.0.0.50172.16.0.10NEXT_PUBLIC_ASSET_PREFIXhttps://cdn.example.comAI_IMAGE_DEFAULT_IMAGE_NUM461-20This environment variable allows administrators to customize the default image generation count for their deployment. The value must be between 1 and 20. If not set, it defaults to 4. Users can still adjust this value in their personal settings.
PLUGINS_INDEX_URLhttps://chat-plugins.lobehub.comPLUGIN_SETTINGSplugin-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 ,.-search-engine:SERPAPI_API_KEY=xxxxx,plugin-2:key1=value1;key2=value2The 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:
{
"plugin-2": {
"key1": "value1",
"key2": "value2"
},
"search-engine": {
"SERPAPI_API_KEY": "xxxxx"
}
}
AGENTS_INDEX_URLhttps://chat-agents.lobehub.com