LobeHub provides some additional configuration options during deployment, which can be customized using environment variables.
KEY_VAULTS_SECRETKix2wcUONd4CX51E/ZPAd36BqM4wzJgKjPtz2sGztqQ=This key is used to encrypt sensitive data. Once set, do not change it, otherwise encrypted data cannot be decrypted.
KEY_VAULTS_SECRET='Click button to generate'API_KEY_SELECT_MODErandom andturn.randomrandom orturnWhen using therandom mode, a random API Key will be selected from the available multiple API Keys.
When using theturn 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'TheDEFAULT_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 theDEFAULT_AGENT_CONFIG environment variable:
| Configuration Type | Example | Explanation |
|---|---|---|
| Basic Key-Value Pair | model=gpt-4 | Set the model togpt-4. |
| Nested Field | tts.sttLocale=en-US | Set the language locale for the text-to-speech service toen-US. |
| Array | plugins=search-engine,lobe-image-designer | Enable thesearch-engine andlobe-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 toglm-4 and the model provider tozhipu. |
| Numeric Value | params.max_tokens=300,chatConfig.historyCount=5 | Set the maximum tokens to300, 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 toHello; I am a bot;. |
| Error Handling | model=gpt-4;maxToken | Ignore invalid entrymaxToken and only parsemodel=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 ofmodel isgpt-4-1106-preview. |
Further reading:
SYSTEM_AGENT-default=ollama/deepseek-v3 ortopic=openai/gpt-4,translation=anthropic/claude-1TheSYSTEM_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 |
| Query Rewrite | queryRewrite | Rewrites follow-up questions as standalone questions with context, improving conversation coherence |
| 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 theFeature Flags documentation.
PROXY_URLhttp://127.0.0.1:7890 orsocks5://localhost:7891If 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, pleasetry usinghost.docker.internal instead oflocalhost. Usehttp://user:[email protected]:7890to connect to an authenticated proxy server.
ENABLE_PROXY_DNS0, all DNS queries are resolved locally. If you encounter API access failures or timeouts in your network environment, try setting this option to1.01 or0SSRF_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 or0Security Notice: Enabling this option will disable SSRF protection and allow connections to privateIP addresses (127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, etc.). Only enable this intrusted environments where you need to access internal network resources.
Use 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 securitySSRF_ALLOW_PRIVATE_IP_ADDRESS=0# Scenario 2: Internal deployment# Allow all private IP addresses to access internal image serversSSRF_ALLOW_PRIVATE_IP_ADDRESS=1# Scenario 3: Hybrid deployment (most common)# Block private IPs by default, but allow specific trusted internal serversSSRF_ALLOW_PRIVATE_IP_ADDRESS=0SSRF_ALLOW_IP_ADDRESS_LIST=192.168.1.100,10.0.0.50SSRF_ALLOW_IP_ADDRESS_LISTSSRF_ALLOW_PRIVATE_IP_ADDRESS is0. 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 theSERPAPI_API_KEY of thesearch-engine plugin toxxxxx, and setskey1 ofplugin-2 tovalue1, andkey2 tovalue2. 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