LibreChat is powerful, but configuration shouldn't require a PhD in YAML.
This tool provides a clean UI for managing 100+ LibreChat settings and generates complete deployment packages. No more manually editing environment files or debugging YAML syntax errors.
Key Benefits:
- β Progressive disclosure - Pick providers first, see only relevant fields
- β Real-time validation - Catch errors before deployment
- β Complete packages - All deployment files generated in one click
- β Smart updates - Update LibreChat without overwriting your database
- β Beginner-friendly - No YAML or Docker expertise required
- β Configure all LibreChat settings
- β Download individual files (.env, YAML, JSON)
- β ZIP package generation unavailable (no backend)
Prerequisites: Node.js 20+ and Docker Desktop
# Clone repository
git clone https://github.com/Fritsl/LibreChatConfigurator.git
cd LibreChatConfigurator
# Install and start
npm install
npm run dev
# Open http://localhost:5000
Full features locally:
- β Complete ZIP package generation with Docker Compose setup
- β Cross-platform installation scripts (.sh for Linux/macOS, .bat for Windows)
- β Smart update system using configuration names as unique identifiers
- β Profile management and configuration backup/restore
The generated ZIP package includes intelligent installation scripts that handle both fresh installations and updates:
- Download & Extract: Download your ZIP package from the configurator and extract it to a folder
- Ensure Docker is Running: Make sure Docker Desktop is running before proceeding
- Run Installation: Open the extracted folder and double-click
install_dockerimage.bat
chmod +x install_dockerimage.sh
./install_dockerimage.sh
Configuration Name = Unique Identifier
The system uses the Configuration Name you set in the tool (not the ZIP filename) as a unique identifier. This name is embedded in LibreChatConfigSettings.json
within your package.
First Installation:
- Creates complete LibreChat Docker setup
- Pulls all required images from Docker Hub
- Initializes MongoDB database
- Starts LibreChat on port 3080
Subsequent Updates (Same Configuration Name):
- β Preserves MongoDB - Your data stays intact
- β Updates LibreChat only - Applies new .env and YAML settings
- β Restarts containers - Changes take effect immediately
- β Works across folders - Even from a new ZIP download
Different Configuration Name:
- Treated as new installation
- Creates separate Docker instance
- Configure in Tool β Set "Configuration Name" at the top (e.g., "Production-LibreChat")
- Download ZIP β Generate package with all files
- First Run β
install_dockerimage.bat
creates full Docker setup on port 3080 - Make Changes β Adjust settings in configurator tool
- Update Live β Download new ZIP, run
install_dockerimage.bat
again- Database preserved β
- LibreChat updated with new settings β
Each generated package contains these files:
File | Purpose | When to Use |
---|---|---|
.env |
Environment variables (API keys, secrets, server settings) | Automatically used by installation scripts. Can also manually place in LibreChat directory. |
librechat.yaml |
Main LibreChat configuration (UI settings, endpoints, features) | Automatically used by installation scripts. Can also manually place in LibreChat directory. |
docker-compose.override.yml |
Docker service configuration with environment passthrough | Automatically used by installation scripts for Docker deployments. |
LibreChatConfigSettings.json |
Configuration metadata with unique name identifier | Used by installation scripts to detect update vs. fresh install. Also for backup/restore in this tool. |
install_dockerimage.bat |
Windows installation script | Run this on Windows - handles Docker setup and updates automatically. |
install_dockerimage.sh |
Linux/macOS installation script | Run this on Linux/macOS - handles Docker setup and updates automatically. |
00-README-INSTALLATION.txt |
Installation instructions | Read this first - contains step-by-step setup guide. |
README.md |
Documentation about your configuration | Reference for what settings you configured. |
File | Purpose | When to Use |
---|---|---|
backup_mongodb.bat |
Windows MongoDB backup script | Run on Windows to create a database backup before major changes. |
backup_mongodb.sh |
Linux/macOS MongoDB backup script | Run on Linux/macOS to create a database backup before major changes. |
restore_mongodb.bat |
Windows MongoDB restore script | Run on Windows to restore a previous database backup. |
restore_mongodb.sh |
Linux/macOS MongoDB restore script | Run on Linux/macOS to restore a previous database backup. |
Quick Start: Run the installation script for your OS (.bat
for Windows, .sh
for Linux/macOS) - it handles everything automatically.
Manual Installation: If not using Docker, copy .env
and librechat.yaml
to your LibreChat directory.
Best Approach: Configuration Export β Local Development
If you want to develop LibreChat locally in VS Code with hot-reload and full debugging capabilities instead of using Docker, this workflow combines the power of this configuration tool with local development:
-
Configure in This Tool
- Use this configurator to visually set up all your LibreChat settings
- Configure API keys, endpoints, features, UI settings, etc.
- Generate and download the ZIP package
-
Extract Configuration Files
- Open the downloaded ZIP package
- Extract only these two files:
.env
- All environment variableslibrechat.yaml
- All YAML configuration
-
Clone LibreChat from GitHub
# Create a development folder mkdir librechat-dev cd librechat-dev # Clone the official LibreChat repository git clone https://github.com/danny-avila/LibreChat.git cd LibreChat
-
Copy Configuration Files
# Copy the extracted files into your LibreChat root directory # Place .env and librechat.yaml in the same folder as package.json
-
Set Up Local Development
# Install dependencies npm install # Start MongoDB (using Docker) npm run backend:dev:docker # In a new terminal: Start backend with hot-reload npm run backend:dev # In another terminal: Start frontend with hot-reload npm run frontend:dev
-
Access LibreChat
- Frontend: http://localhost:3090
- Backend API: http://localhost:3080
- Changes to code auto-reload instantly
- β Visual Configuration - Use this tool's UI instead of manually editing files
- β Full Source Access - Edit LibreChat source code directly in VS Code
- β Hot Reload - See changes instantly without rebuilding containers
- β Debugging - Use VS Code debugger, breakpoints, step-through
- β AI Assistant Ready - Use GitHub Copilot or cursor.ai on the actual codebase
- β Version Control - Commit your changes with git
- β Fast Iteration - No Docker build times
Starting from an empty folder with AI help:
-
Ask your AI assistant (Copilot, Cursor, etc.):
"Clone LibreChat from https://github.com/danny-avila/LibreChat.git and set it up for local development. I have a .env and librechat.yaml configuration file ready to use."
-
Let AI guide you through:
- Installing Node.js dependencies
- Setting up MongoDB (local or Docker)
- Starting backend and frontend servers
- Troubleshooting any setup issues
-
AI can help with:
- Customizing LibreChat features
- Adding new endpoints or models
- Debugging configuration issues
- Understanding the codebase structure
Pro tip: Keep this configurator open in a browser tab. When you need to change settings, use the UI, re-download the package, and copy the new .env
and librechat.yaml
files to your local LibreChat folder. Restart the servers to apply changes.
Deployment Method | Best For | Setup Time |
---|---|---|
Docker (.bat/.sh scripts) | Production deployments, quick setup, no code changes | 2 minutes |
Local Development | Development, testing, customization, learning LibreChat | 10-15 minutes |
Docker Dev with Volumes | Hybrid: Docker but with local file editing | 5 minutes |
This tool is under active development and may contain bugs. Always backup your configurations and test in a non-production environment first.
- 100+ Settings Coverage - All LibreChat v0.8.0-rc4 configuration options
- Tabbed Interface - 18 organized categories (Server, Security, AI Providers, etc.)
- Profile System - Save and load configuration profiles with versioning
- Auto-Save - Browser localStorage prevents data loss on refresh/close
- Complete Deployment Files:
.env
- Environment variableslibrechat.yaml
- Main configurationdocker-compose.override.yml
- Docker setupLibreChatConfigSettings.json
- Configuration metadata- Installation scripts (.bat for Windows, .sh for Linux/macOS)
- Versioned Exports - Metadata tracking (tool version, schema version, LibreChat target)
- Import Compatibility Checking - Warns about version mismatches
- Custom Endpoints - Multiple OpenAI-compatible endpoints with individual API keys
- DALL-E Integration - Complete image generation setup
- Web Search (RC4) - Serper and SearXNG with auto-Docker integration
- Smart Defaults - Optimal configurations applied automatically
- Search Functionality - Find any setting instantly
- Real-time Validation - Immediate feedback on errors
- Technical Metadata - Hover over info icons to see env var names and file paths
- Responsive Design - Works on desktop, tablet, and mobile
This tool supports all LibreChat v0.8.0-rc4 settings organized into categories:
Core (.env)
- Server (APP_TITLE, HOST, PORT, domains)
- Security (JWT secrets, session settings)
- Database (MongoDB, Redis, PostgreSQL)
- UI/Visibility (welcome message, footer, menu toggles)
AI Providers (.env + YAML)
- OpenAI, Anthropic, Google, Azure OpenAI
- AWS Bedrock, Groq, Mistral, Cohere
- Custom OpenAI-compatible endpoints
- 15+ additional providers
Authentication (.env)
- Email/Password login
- OAuth (Google, GitHub, Discord, Facebook, Apple, OpenID Connect)
- Domain restrictions and registration controls
Advanced Features (YAML)
- Web Search & RAG (Serper, SearXNG, Firecrawl)
- File Storage (Local, S3, Azure Blob, Firebase)
- Email Services (SMTP, Mailgun)
- Rate Limiting & Caching
- MCP Servers (Model Context Protocol)
- Image Generation (DALL-E 2/3)
π Full Documentation: LibreChat Configuration Guide
Modern full-stack TypeScript application:
βββ client/ # React 18 Frontend
β βββ components/ # Tabbed UI, Forms, Inputs
β βββ lib/ # Configuration defaults & utilities
β βββ pages/ # Main configuration interface
βββ server/ # Express.js Backend
β βββ routes.ts # API endpoints & file generation
β βββ storage.ts # In-memory storage with DB interface
βββ shared/ # Type-safe schemas (Zod)
β βββ schema.ts # Configuration data models
β βββ schema-defaults.ts # Dynamic defaults generator
β βββ version.ts # Version metadata
βββ scripts/ # Build & deployment automation
Tech Stack:
- Frontend: React, TypeScript, Tailwind CSS, shadcn/ui
- Backend: Express.js, Zod validation
- State: TanStack Query, React Hook Form
- Build: Vite, ESBuild
npm run dev # Development server (port 5000)
npm run build # Production build
npm start # Production server
npm run lint # ESLint
npm run type-check # TypeScript validation
- Update schema in
shared/schema.ts
- Add UI component in
client/src/components/
- Update file generators in
server/routes.ts
- Test end-to-end
We welcome contributions! Here's how to help:
- Fork the repository
- Create branch:
git checkout -b feature/your-feature
- Make changes and test thoroughly
- Submit PR with clear description
Areas needing help:
- π€ New AI provider integrations
- π¨ UI/UX improvements
- π Documentation enhancements
- π§ͺ Test coverage
- π Internationalization
See CONTRIBUTING.md for detailed guidelines.
- modelSpecs.addedEndpoints bug: LibreChat RC4 has a known issue where this setting causes interface visibility problems. Keep it disabled (empty array) unless you need custom model specs.
- Active development: Tool is evolving with LibreChat. Report bugs via GitHub Issues.
MIT License - see LICENSE file for details.
- LibreChat Team - For the amazing open-source AI platform
- Contributors - Everyone improving this tool
- Community - Users providing feedback and bug reports
Made with β€οΈ by the LibreChat community