Skip to main content

Configuration Overview

LibreChat offers flexible configuration options through environment variables and YAML configuration files. This section guides you through setting up and customizing your LibreChat instance.

Configuration Methods

Environment Variables

Configure server settings, database connections, and API keys through .env file

YAML Configuration

Advanced configuration for endpoints, interface customization, and feature settings

Key Configuration Areas

Server Configuration

HOST
string
default:"localhost"
Server host address
PORT
number
default:"3080"
Server port number
MONGO_URI
string
required
MongoDB connection string
MONGO_URI=mongodb://127.0.0.1:27017/LibreChat

Domain Configuration

DOMAIN_CLIENT
string
required
Client-facing domain URL
DOMAIN_CLIENT=http://localhost:3080
DOMAIN_SERVER
string
required
Server domain URL for backend services
DOMAIN_SERVER=http://localhost:3080

Configuration File Locations

# Main configuration file
.env

# Example configuration (reference)
.env.example

Quick Start

1

Copy Example Files

Copy the example configuration files to create your configuration:
cp .env.example .env
cp librechat.example.yaml librechat.yaml
2

Configure Database

Set your MongoDB connection string in .env:
MONGO_URI=mongodb://127.0.0.1:27017/LibreChat
3

Set Domain URLs

Configure your domain URLs:
DOMAIN_CLIENT=http://localhost:3080
DOMAIN_SERVER=http://localhost:3080
4

Add API Keys

Configure API keys for the AI providers you plan to use:
OPENAI_API_KEY=your_openai_api_key
ANTHROPIC_API_KEY=your_anthropic_api_key
GOOGLE_KEY=your_google_api_key
5

Customize Features

Edit librechat.yaml to enable/disable features and configure endpoints

Configuration Hierarchy

LibreChat loads configuration in the following priority order:
  1. Environment Variables - Highest priority, set in .env file or system environment
  2. YAML Configuration - Settings from librechat.yaml
  3. Default Values - Built-in defaults when no configuration is provided
Environment variables take precedence over YAML configuration. You can reference environment variables in YAML using ${VARIABLE_NAME} syntax.

Configuration Categories

  • Server host and port
  • MongoDB connection settings
  • Redis configuration (optional)
  • Session and security settings
  • OpenAI, Anthropic, Google
  • Custom endpoints (Groq, Mistral, etc.)
  • Azure OpenAI
  • AWS Bedrock
  • Model configuration
  • Email/password login
  • OAuth2 providers (Google, GitHub, Discord, etc.)
  • OpenID Connect
  • SAML
  • LDAP
  • Local storage
  • AWS S3
  • Firebase Storage
  • Azure Blob Storage
  • Granular storage strategies
  • Search (MeiliSearch)
  • RAG (Retrieval-Augmented Generation)
  • Web Search
  • Speech-to-Text / Text-to-Speech
  • Image Generation
  • MCP Servers
  • Registration settings
  • User roles and permissions
  • Rate limiting
  • Token balance system
  • Moderation

Environment-Specific Configuration

Development configuration for local testing:
.env
NODE_ENV=development
HOST=localhost
PORT=3080
DOMAIN_CLIENT=http://localhost:3080
DOMAIN_SERVER=http://localhost:3080

DEBUG_LOGGING=true
DEBUG_CONSOLE=true

# Allow registration for testing
ALLOW_REGISTRATION=true
ALLOW_UNVERIFIED_EMAIL_LOGIN=true

Security Considerations

Never commit your .env file to version control! It contains sensitive information like API keys and secrets.

Required Security Configuration

JWT_SECRET
string
required
Secret key for JWT token signing. Generate a secure random string:
openssl rand -hex 32
JWT_REFRESH_SECRET
string
required
Secret key for refresh token signing. Use a different value than JWT_SECRET:
openssl rand -hex 32
CREDS_KEY
string
required
Encryption key for stored credentials (32 bytes hex):
openssl rand -hex 32
CREDS_IV
string
required
Initialization vector for credential encryption (16 bytes hex):
openssl rand -hex 16

Validation

After configuring LibreChat, you can validate your configuration:
# Start the server and check logs
npm run backend

# Look for configuration errors in the output

Next Steps

AI Endpoints

Configure OpenAI, Anthropic, Google, and custom AI providers

Authentication

Set up OAuth, LDAP, or email authentication

File Storage

Configure S3, Firebase, or local file storage

Environment Variables

Complete reference of all environment variables

Troubleshooting

  • Verify MongoDB is running and accessible
  • Check MONGO_URI is correctly formatted
  • Ensure no other process is using the configured port
  • Review server logs for specific error messages
  • Verify API keys are valid and have proper permissions
  • Check for extra spaces or quotes in .env file
  • Ensure you’ve restarted the server after updating .env
  • Some providers require additional configuration in librechat.yaml
  • Check file paths are correct
  • Verify YAML syntax is valid (use a YAML validator)
  • Ensure CONFIG_PATH points to the correct file if using custom path
  • Check file permissions

Build docs developers (and LLMs) love