From 6fc77f847c32303704ce71940fc57cfeda9019c9 Mon Sep 17 00:00:00 2001 From: Travis Vasceannie Date: Fri, 5 Dec 2025 01:02:23 +0000 Subject: [PATCH] x --- deploy-compose.swarm.yml | 5 ++ librechat.yaml | 141 +++++++++++++++++++++++++-------------- 2 files changed, 95 insertions(+), 51 deletions(-) diff --git a/deploy-compose.swarm.yml b/deploy-compose.swarm.yml index b173d1fd0..d9e4c359e 100644 --- a/deploy-compose.swarm.yml +++ b/deploy-compose.swarm.yml @@ -32,6 +32,11 @@ services: - /home/trav/apps/LibreChat/images:/app/client/public/images - /home/trav/apps/LibreChat/uploads:/app/uploads - /home/trav/apps/LibreChat/logs:/app/api/logs + - /home/trav/claude-scripts:/mnt/claude-scripts + - /home/trav/apps:/mnt/apps + - /home/trav/biz-bud:/mnt/biz-bud + - /home/trav/portainer:/mnt/portainer + - /home/trav/repos:/mnt/repos deploy: replicas: 1 restart_policy: diff --git a/librechat.yaml b/librechat.yaml index 0c693db4c..980575dec 100644 --- a/librechat.yaml +++ b/librechat.yaml @@ -9,7 +9,7 @@ cache: true # File storage configuration # Single strategy for all file types (legacy format, still supported) -# fileStrategy: "s3" +fileStrategy: "s3" # Granular file storage strategies (new format - recommended) # Allows different storage strategies for different file types @@ -25,6 +25,11 @@ cache: true # - Use Firebase for images with automatic optimization # - Use local storage for documents for privacy/compliance +ocr: + apiKey: "YO2bXkUHLxlJdsXactjlLK4PRZMrBaCo" + strategy: "mistral_ocr" + mistalModel: "mistral-ocr-latest" + # Custom interface configuration interface: customWelcome: 'Welcome to LibreChat! Enjoy your experience.' @@ -108,7 +113,7 @@ interface: # Example Registration Object Structure (optional) registration: - socialLogins: ['github', 'google', 'discord', 'openid', 'facebook', 'apple', 'saml'] + socialLogins: ['openid'] # allowedDomains: # - "gmail.com" @@ -124,8 +129,8 @@ registration: # Example Transactions settings # Controls whether to save transaction records to the database # Default is true (enabled) -#transactions: -# enabled: false +transactions: + enabled: true # Note: If balance.enabled is true, transactions will always be enabled # regardless of this setting to ensure balance tracking works correctly @@ -180,6 +185,11 @@ mcpServers: timeout: 60000 # 1 minute timeout for this server, this is the default timeout for MCP servers. headers: mcp-session-id: {{LIBRECHAT_BODY_CONVERSATIONID}} + context7: + url: https://mcp.context7.com/mcp + timeout: 60000 # 1 minute timeout for this server, this is the default timeout for MCP servers. + headers: + CONTEXT7_API_KEY: ctx7sk-f6f1b998-88a2-4e78-9d21-433545326e6c # everything: # # type: sse # type can optionally be omitted # url: http://localhost:3001/sse @@ -191,20 +201,30 @@ mcpServers: # - -y # - "@modelcontextprotocol/server-puppeteer" # timeout: 300000 # 5 minutes timeout for this server - # filesystem: - # # type: stdio - # command: npx - # args: - # - -y - # - "@modelcontextprotocol/server-filesystem" - # - /home/user/LibreChat/ - # iconPath: /home/user/LibreChat/client/public/assets/logo.svg + filesystem: + # type: stdio + command: npx + args: + - -y + - "@modelcontextprotocol/server-filesystem" + - /home/user/LibreChat/ + - /mnt/claude-scripts + - /mnt/apps + - /mnt/biz-bud + - /mnt/portainer + - /mnt/repos + iconPath: /home/user/LibreChat/client/public/assets/logo.svg # mcp-obsidian: # command: npx # args: # - -y # - "mcp-obsidian" # - /path/to/obsidian/vault + sequential-thinking: + command: npx + args: + - -y + - "@modelcontextprotocol/server-sequential-thinking" # Definition of custom endpoints endpoints: @@ -432,48 +452,67 @@ endpoints: # endpoint: "openAI" # model: "gpt-4o-mini" -# fileConfig: -# endpoints: -# assistants: -# fileLimit: 5 -# fileSizeLimit: 10 # Maximum size for an individual file in MB -# totalSizeLimit: 50 # Maximum total size for all files in a single request in MB -# supportedMimeTypes: -# - "image/.*" -# - "application/pdf" -# openAI: -# disabled: true # Disables file uploading to the OpenAI endpoint -# default: -# totalSizeLimit: 20 -# YourCustomEndpointName: -# fileLimit: 2 -# fileSizeLimit: 5 -# serverFileSizeLimit: 100 # Global server file size limit in MB -# avatarSizeLimit: 2 # Limit for user avatar image size in MB -# imageGeneration: # Image Gen settings, either percentage or px -# percentage: 100 -# px: 1024 -# # Client-side image resizing to prevent upload errors -# clientImageResize: -# enabled: false # Enable/disable client-side image resizing (default: false) -# maxWidth: 1900 # Maximum width for resized images (default: 1900) -# maxHeight: 1900 # Maximum height for resized images (default: 1900) -# quality: 0.92 # JPEG quality for compression (0.0-1.0, default: 0.92) -# # See the Custom Configuration Guide for more information on Assistants Config: -# # https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/assistants_endpoint +fileConfig: + endpoints: + assistants: + fileLimit: 5 + fileSizeLimit: 10 # Maximum size for an individual file in MB + totalSizeLimit: 50 # Maximum total size for all files in a single request in MB + supportedMimeTypes: + - "image/.*" + - "application/pdf" + openAI: + disabled: true # Disables file uploading to the OpenAI endpoint + default: + totalSizeLimit: 100 + fileSizeLimit: 100 + fileLimit: 10 + # bifrost: + # fileLimit: 25 + # fileSizeLimit: 50 + serverFileSizeLimit: 1000 # Global server file size limit in MB + fileTokenLimit: 100000 + avatarSizeLimit: 2 # Limit for user avatar image size in MB + imageGeneration: # Image Gen settings, either percentage or px + percentage: 100 + px: 1024 + ocr: + supportedMimeTypes: + - "^image/(jpeg|gif|png|webp|heic|heif)$" + - "^application/pdf$" + - "^application/vnd\\.openxmlformats-officedocument\\.(wordprocessingml\\.document|presentationml\\.presentation|spreadsheetml\\.sheet)$" + - "^application/vnd\\.ms-(word|powerpoint|excel)$" + - "^application/epub\\+zip$" + text: + supportedMimeTypes: + - "^text/(plain|markdown|csv|json|xml|html|css|javascript|typescript|x-python|x-java|x-csharp|x-php|x-ruby|x-go|x-rust|x-kotlin|x-swift|x-scala|x-perl|x-lua|x-shell|x-sql|x-yaml|x-toml)$" + stt: + supportedMimeTypes: + - "^audio/(mp3|mpeg|mpeg3|wav|wave|x-wav|ogg|vorbis|mp4|x-m4a|flac|x-flac|webm)$" + # Client-side image resizing to prevent upload errors + clientImageResize: + enabled: true # Enable/disable client-side image resizing (default: false) + maxWidth: 1900 # Maximum width for resized images (default: 1900) + maxHeight: 1900 # Maximum height for resized images (default: 1900) + quality: 0.92 # JPEG quality for compression (0.0-1.0, default: 0.92) +# See the Custom Configuration Guide for more information on Assistants Config: +# https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/assistants_endpoint # Web Search Configuration (optional) webSearch: -# # Jina Reranking Configuration -# jinaApiKey: '${JINA_API_KEY}' # Your Jina API key -# jinaApiUrl: '${JINA_API_URL}' # Custom Jina API URL (optional, defaults to https://api.jina.ai/v1/rerank) -# # Other rerankers -# cohereApiKey: '${COHERE_API_KEY}' -# # Search providers -# serperApiKey: '${SERPER_API_KEY}' -# searxngInstanceUrl: '${SEARXNG_INSTANCE_URL}' -# searxngApiKey: '${SEARXNG_API_KEY}' -# # Content scrapers + rerankerType: 'cohere' + # Jina Reranking Configuration + # jinaApiKey: '${JINA_API_KEY}' # Your Jina API key + # jinaApiUrl: '${JINA_API_URL}' # Custom Jina API URL (optional, defaults to https://api.jina.ai/v1/rerank) + # Other rerankers + cohereApiKey: '${COHERE_API_KEY}' + # Search providers + searchProvider: "searxng" + # serperApiKey: '${SERPER_API_KEY}' + searxngInstanceUrl: '${SEARXNG_INSTANCE_URL}' + # searxngApiKey: '${SEARXNG_API_KEY}' + # Content scrapers + scraperProvider: "firecrawl" firecrawlApiKey: 'http://crawl.lab' firecrawlApiUrl: 'dummy-key'