Omgevingsvariabelen
Uitgebreide handleiding voor het configureren van de omgeving van uw applicatie met het `.env` bestand. Dit document is uw centrale bron voor het begrijpen en aanpassen van de omgevingsvariabelen die het gedrag van uw applicatie in verschillende contexten bepalen.
Welkom bij de uitgebreide handleiding voor het configureren van de omgeving van je applicatie met het .env bestand. Dit document is je centrale bron voor het begrijpen en aanpassen van de omgevingsvariabelen die het gedrag van je applicatie in verschillende contexten zullen bepalen.
Hoewel de standaardinstellingen een solide basis bieden voor een standaard docker installatie, zal het doornemen van deze handleiding het volledige potentieel van LibreChat onthullen. Deze handleiding stelt je in staat om LibreChat aan te passen aan jouw specifieke behoeften. Ontdek hoe je de beschikbaarheid van taalmodellen aanpast, social logins integreert, het automatische moderatiesysteem beheert en nog veel meer. Het draait erom dat jij de controle krijgt om LibreChat te verfijnen voor een optimale gebruikerservaring.
Herinnering: Herstart LibreChat om de configuratiewijzigingen door te voeren
Als alternatief kun je een nieuw bestand genaamd docker-compose.override.yml aanmaken in dezelfde map als je hoofd docker-compose.yml bestand voor LibreChat, waar je je .env variabelen naar behoefte kunt instellen onder environment, of de standaardconfiguratie van het hoofd docker-compose.yml bestand kunt aanpassen, zonder dat je het hele bestand direct hoeft te bewerken of te dupliceren.
Voor meer informatie, zie:
-
Onze beknopte handleiding:
-
De officiële Docker-documentatie:
-
Je kunt ook een voorbeeld van een override-bestand voor LibreChat bekijken in je LibreChat-map en op GitHub:
Serverconfiguratie
Poort
- De server luistert op een specifieke poort.
- De
PORTomgevingsvariabele stelt de poort in waarop de server luistert. Standaard is deze ingesteld op3080.
| Key | Type | Description | Example |
|---|---|---|---|
| HOST | string | Specificeert de host. | HOST=localhost |
| PORT | number | Specificeert de poort. | PORT=3080 |
Trust proxy
Gebruik het adres dat zich op maximaal n hops afstand van de Express-applicatie bevindt.
req.socket.remoteAddress is de eerste hop, en de rest wordt gezocht in de X-Forwarded-For header van rechts naar links.
Een waarde van 0 betekent dat het eerste niet-vertrouwde adres req.socket.remoteAddress zou zijn, oftewel er is geen reverse proxy.
De standaardwaarde van de TRUST_PROXY omgevingsvariabele is ingesteld op 1.
Raadpleeg Express.js - trust proxy voor meer informatie hierover.
| Key | Type | Description | Example |
|---|---|---|---|
| TRUST_PROXY | number | Specificeert het aantal hops. | TRUST_PROXY=1 |
Credentials Configuratie
Om inloggegevens veilig op te slaan, heb je een vaste sleutel en IV nodig. Je kunt deze hier instellen voor prod- en dev-omgevingen.
| Key | Type | Description | Example |
|---|---|---|---|
| CREDS_KEY | string | 32-byte sleutel (64 tekens in hex) voor het veilig opslaan van inloggegevens. Vereist voor het opstarten van de app. | CREDS_KEY=f34be427ebb29de8d88c107a71546019685ed8b241d8f2ed00c3df97ad2566f0 |
| CREDS_IV | string | 16-byte IV (32 tekens in hex) voor het veilig opslaan van inloggegevens. Vereist voor het opstarten van de app. | CREDS_IV=e2341419ec3dd3d19b13a1a87fafcbfb |
Waarschuwing
Waarschuwing: Als je CREDS_KEY en CREDS_IV niet instelt, zal de app crashen bij het opstarten. - Je kunt deze Key Generator gebruiken om ze snel te genereren.
Statische bestandsafhandeling
| Key | Type | Description | Example |
|---|---|---|---|
| STATIC_CACHE_MAX_AGE | string | Cache-Control max-age in seconden | STATIC_CACHE_MAX_AGE=172800 |
| STATIC_CACHE_S_MAX_AGE | string | Cache-Control s-maxage in seconden voor gedeelde caches (CDN's en proxy's) | STATIC_CACHE_S_MAX_AGE="86400" |
| DISABLE_COMPRESSION | boolean | Schakelt compressie voor statische bestanden uit. | DISABLE_COMPRESSION=false |
| ENABLE_IMAGE_OUTPUT_GZIP_SCAN | boolean | Schakelt het serveren van gzipped-versies van geüploade afbeeldingen in indien deze in dezelfde map aanwezig zijn. | ENABLE_IMAGE_OUTPUT_GZIP_SCAN=true |
| ENABLE_STATIC_ASSET_BROTLI | boolean | Schakelt het serveren van vooraf gecomprimeerde Brotli-versies van statische app-assets in wanneer deze beschikbaar zijn. | ENABLE_STATIC_ASSET_BROTLI=true |
Gedrag:
Stelt de Cache-Control headers in voor statische bestanden. Deze configuraties worden alleen geactiveerd wanneer de NODE_ENV is ingesteld op production.
- Haal het commentaar weg bij
STATIC_CACHE_MAX_AGEom de lokalemax-agevoor statische bestanden te wijzigen. Standaard is dit ingesteld op 2 dagen (172800 seconden). - Haal het commentaar weg bij
STATIC_CACHE_S_MAX_AGEom des-maxagein te stellen voor gedeelde caches (CDN's en proxy's). Standaard is dit ingesteld op 1 dag (86400 seconden). - Haal het commentaar weg bij
DISABLE_COMPRESSIONom compressie voor statische bestanden uit te schakelen. Standaard is compressie ingeschakeld. - Haal het commentaar weg bij
ENABLE_IMAGE_OUTPUT_GZIP_SCANom het scannen en serveren van gezipte versies van afbeeldingen in te schakelen, mits deze vooraf zijn gecomprimeerd in dezelfde map, met dezelfde naam en een .gz-extensie. Standaard is de gzip-scan voor geüploade afbeeldingen uitgeschakeld. - Verwijder het commentaar bij
ENABLE_STATIC_ASSET_BROTLIom vooraf gecomprimeerde.brversies van statische app-assets te serveren wanneer deze aanwezig zijn. Wanneer ingeschakeld, krijgt Brotli de voorkeur boven gzip voor statische bestanden die via de API worden geserveerd.
Waarschuwing
- Dit heeft alleen invloed op statische bestanden die door de API-server worden geserveerd en is niet van toepassing op Firebase, NGINX of enige andere configuraties.
Index HTML Cache Control
| Key | Type | Description | Example |
|---|---|---|---|
| INDEX_CACHE_CONTROL | string | Cache-Control header voor index.html | INDEX_CACHE_CONTROL=no-cache, no-store, must-revalidate |
| INDEX_PRAGMA | string | Pragma-header voor index.html | INDEX_PRAGMA=no-cache |
| INDEX_EXPIRES | string | Expires-header voor index.html | INDEX_EXPIRES=0 |
Gedrag:
Beheert caching-headers specifiek voor de index.html-respons. Standaard voorkomen deze instellingen caching om ervoor te zorgen dat gebruikers altijd de nieuwste versie van de applicatie ontvangen.
Let op
In tegenstelling tot statische assets die voor prestaties worden gecachet, zijn de cache-headers van het index.html-bestand afzonderlijk geconfigureerd om ervoor te zorgen dat gebruikers altijd de nieuwste applicatieshell ontvangen.
MongoDB Database
| Key | Type | Description | Example |
|---|---|---|---|
| MONGO_URI | string | Specificeert de MongoDB URI. | MONGO_URI=mongodb://127.0.0.1:27017/LibreChat |
Wijzig dit naar je MongoDB URI als deze afwijkt. Je moet LibreChat of je eigen APP_TITLE toevoegen als de databasenaam in de URI.
Als je een online database gebruikt, is het URI-formaat mongodb+srv://<username>:<password>@<host>/<database>?<options>. Je MONGO_URI zou er als volgt uit moeten zien:
mongodb+srv://username:[email protected]/LibreChat?retryWrites=true(retryWritesis de enige optie die je nodig hebt wanneer je de online database gebruikt.)
MongoDB Connection Pool Configuratie
| Key | Type | Description | Example |
|---|---|---|---|
| MONGO_MAX_POOL_SIZE | number | Het maximale aantal verbindingen in de connection pool. | # MONGO_MAX_POOL_SIZE= |
| MONGO_MIN_POOL_SIZE | number | Het minimum aantal verbindingen in de connection pool. | # MONGO_MIN_POOL_SIZE= |
| MONGO_MAX_CONNECTING | number | Het maximale aantal verbindingen dat gelijktijdig in het proces van totstandkoming kan zijn door de connection pool. | # MONGO_MAX_CONNECTING= |
| MONGO_MAX_IDLE_TIME_MS | number | Het maximale aantal milliseconden dat een verbinding inactief in de pool kan blijven voordat deze wordt verwijderd en gesloten. | # MONGO_MAX_IDLE_TIME_MS= |
| MONGO_WAIT_QUEUE_TIMEOUT_MS | number | De maximale tijd in milliseconden die een thread kan wachten tot er een verbinding beschikbaar is. | # MONGO_WAIT_QUEUE_TIMEOUT_MS= |
MongoDB Schema Configuratie
| Key | Type | Description | Example |
|---|---|---|---|
| MONGO_AUTO_INDEX | boolean | Stel in op false om het automatisch aanmaken van indexen uit te schakelen voor alle modellen die aan deze verbinding zijn gekoppeld. Indien weggelaten, wordt het standaardgedrag van Mongoose gebruikt. | # MONGO_AUTO_INDEX= |
| MONGO_AUTO_CREATE | boolean | Stel in op false om te voorkomen dat Mongoose automatisch createCollection() aanroept voor elk model dat op deze verbinding wordt aangemaakt. Indien weggelaten, wordt het standaardgedrag van Mongoose gebruikt. | # MONGO_AUTO_CREATE= |
Als alternatief kun je documentDb gebruiken dat mongoDb emuleert, maar het:
- ondersteunt geen
retryWrites- gebruikretryWrites=false - vereist een TLS-verbinding, gebruik daarom de parameters
tls=trueom TLS in te schakelen entlsCAFile=/path-to-ca/bundle.pemom naar het door AWS verstrekte CA-bundelbestand te verwijzen
De URI voor documentDb ziet er als volgt uit:
mongodb+srv://username:password@domain/dbname?retryWrites=false&tls=true&tlsCAFile=/path-to-ca/bundle.pem
Zie ook:
- MongoDB Atlas voor instructies over hoe je een online MongoDB Atlas-database aanmaakt (handig voor gebruik zonder Docker)
- MongoDB Community Server voor instructies over hoe je een lokale MongoDB-database aanmaakt (zonder Docker)
- MongoDB Authentication Om expliciete authenticatie voor MongoDB in Docker in te schakelen.
- Beheer je database met Mongo Express voor veilige toegang tot je Docker MongoDB database
Toepassingsdomeinen
Om LibreChat te configureren voor lokaal gebruik of implementatie op een aangepast domein, stelt u de volgende omgevingsvariabelen in:
| Key | Type | Description | Example |
|---|---|---|---|
| DOMAIN_CLIENT | string | Specificeert het client-side domein. | DOMAIN_CLIENT=http://localhost:3080 |
| DOMAIN_SERVER | string | Specificeert het domein aan de serverzijde. | DOMAIN_SERVER=http://localhost:3080 |
| ADMIN_PANEL_URL | string | Basis-URL van het externe admin-paneel die wordt gebruikt voor admin OAuth/SSO-omleidingen wanneer het admin-paneel afzonderlijk wordt gehost. Voeg geen slash toe aan het einde. | ADMIN_PANEL_URL=https://admin.example.com/admin |
| ADMIN_PANEL_SESSION_SECRET | string | Vereiste sessieversleutelingssleutel voor het gebundelde admin-paneel (minimaal 32 tekens). De docker-compose en deploy-compose admin-panel services lezen dit als hun SESSION_SECRET. Genereer deze met `openssl rand -hex 32` voordat de stack wordt gestart. | ADMIN_PANEL_SESSION_SECRET=<your-32-char-random-string> |
| ADMIN_PANEL_PORT | number | Host-poort voor het gebundelde admin-paneel in de standaard docker-compose. In deploy-compose wordt het paneel in plaats daarvan via nginx geserveerd op http://admin.localhost. | ADMIN_PANEL_PORT=3000 |
Wanneer je LibreChat implementeert op een aangepast domein, vervang dan http://localhost:3080 door je geïmplementeerde URL
- bijv.
https://librechat.example.com.
Voorkom dat openbare zoekmachines indexeren
Standaard wordt je website niet geïndexeerd door openbare zoekmachines (bijv. Google, Bing, …). Dit betekent dat mensen je website niet via deze zoekmachines kunnen vinden. Als je je website beter zichtbaar en vindbaar wilt maken, kun je de volgende instelling wijzigen naar false
| Key | Type | Description | Example |
|---|---|---|---|
| NO_INDEX | boolean | Voorkomt dat openbare zoekmachines uw website indexeren. | NO_INDEX=true |
❗Let op: Deze methode werkt niet gegarandeerd voor alle zoekmachines, en sommige zoekmachines kunnen uw website of webpagina nog steeds indexeren voor andere doeleinden, zoals caching of archivering. Daarom moet u niet uitsluitend op deze methode vertrouwen om gevoelige of vertrouwelijke informatie op uw website of webpagina te beschermen.
Logging
LibreChat heeft ingebouwde centrale logging, zie Logging System voor meer informatie.
Logbestanden
- Debug logging is standaard ingeschakeld en cruciaal voor ontwikkeling.
- Om problemen te melden, reproduceer de fout en dien logs in vanuit
./api/logs/debug-%DATE%.logop: LibreChat GitHub Issues - Foutlogboeken worden op dezelfde locatie opgeslagen.
Omgevingsvariabelen
| Key | Type | Description | Example |
|---|---|---|---|
| DEBUG_LOGGING | boolean | Houd debug-logs actief. | DEBUG_LOGGING=true |
| DEBUG_CONSOLE | boolean | Schakel uitgebreide console/stdout-logs in in hetzelfde formaat als debug-logs in bestanden. | DEBUG_CONSOLE=false |
| LOG_TO_FILE | boolean | Stel in op false om Winston-transports op basis van bestanden uit te schakelen, terwijl console-logging beschikbaar blijft. | LOG_TO_FILE=true |
| CONSOLE_JSON | boolean | Schakel uitgebreide JSON-console/stdout-logs in die geschikt zijn voor cloud-implementaties zoals GCP/AWS. | CONSOLE_JSON=false |
| CONSOLE_JSON_STRING_LENGTH | number | Configureer de afkappingsgrootte voor stringwaarden in JSON console/stdout-logs. Standaard: 255. | # CONSOLE_JSON_STRING_LENGTH=255 |
| LIBRECHAT_LOG_DIR | string | Aangepaste map voor logbestanden. Standaard is /app/logs (Docker) of api/logs (lokale dev). | # LIBRECHAT_LOG_DIR=/custom/log/path |
| MEM_DIAG | boolean | Schakel geheugendiagnostiek in — logt heap/RSS-snapshots elke 60 seconden. Automatisch ingeschakeld bij uitvoering met --inspect. | # MEM_DIAG=true |
| AGENT_DEBUG_LOGGING | boolean | Schakelt uitgebreide debug-logboekregistratie in de agent controller in (tokenaantallen, diagnostische gegevens over context-pruning). | # AGENT_DEBUG_LOGGING=true |
Let op:
DEBUG_LOGGINGkan worden gebruikt metDEBUG_CONSOLEofCONSOLE_JSON, maar niet met beide tegelijk.DEBUG_CONSOLEenCONSOLE_JSONsluiten elkaar uit.CONSOLE_JSON: Bij het afhandelen van console-logs in cloud-implementaties (zoals GCP of AWS), zal het inschakelen hiervan de logs dumpen met een UTC-tijdstempel en ze formatteren als JSON.
Let op: DEBUG_CONSOLE wordt niet aanbevolen, aangezien de uitvoer behoorlijk uitgebreid kan zijn, en daarom is deze standaard uitgeschakeld.
Toestemming
UID en GID zijn nummers die door Linux worden toegewezen aan elke gebruiker en groep op het systeem. Als je problemen hebt met rechten, stel hier dan de UID en GID in van de gebruiker die het Docker Compose-commando uitvoert. De applicaties in de container zullen draaien met deze UID/GID.
| Key | Type | Description | Example |
|---|---|---|---|
| UID | number | De gebruikers-ID. | # UID=1000 |
| GID | number | De groeps-ID. | # GID=1000 |
OpenTelemetry Tracing
LibreChat kan backend OpenTelemetry-traces genereren voor algemene API-, HTTP-, MongoDB-, Mongoose-, Redis- en uitgaande verzoekzichtbaarheid. Redis-spans op commandoniveau zijn opt-in, zodat standaard traces op hoog niveau blijven. Gebruik Langfuse voor GenAI-specifieke prompt/model-observability.
| Key | Type | Description | Example |
|---|---|---|---|
| OTEL_TRACING_ENABLED | boolean | Schakel backend OpenTelemetry-tracing in. Tracing blijft uitgeschakeld wanneer OTEL_SDK_DISABLED=true. | # OTEL_TRACING_ENABLED=false |
| OTEL_SERVICE_NAME | string | Servicenaam gerapporteerd aan OpenTelemetry. Standaard: librechat. | # OTEL_SERVICE_NAME=librechat |
| OTEL_SERVICE_VERSION | string | Serviceversie gerapporteerd aan OpenTelemetry. Standaard ingesteld op de pakketversie indien niet ingesteld. | # OTEL_SERVICE_VERSION= |
| OTEL_EXPORTER_OTLP_ENDPOINT | string | Basis OTLP exporter endpoint. | # OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 |
| OTEL_EXPORTER_OTLP_TRACES_ENDPOINT | string | Trace-specifiek OTLP endpoint. Overschrijft het basis-endpoint voor traces wanneer ingesteld. | # OTEL_EXPORTER_OTLP_TRACES_ENDPOINT= |
| OTEL_EXPORTER_OTLP_HEADERS | string | Door komma's gescheiden OTLP-exporter-headers, zoals autorisatiemetadata. | # OTEL_EXPORTER_OTLP_HEADERS= |
| OTEL_TRACES_EXPORTER | string | Selectie van trace-exporter. | # OTEL_TRACES_EXPORTER=otlp |
| OTEL_TRACES_SAMPLER | string | OpenTelemetry trace sampler. Standaardvoorbeeld: parentbased_always_on. | # OTEL_TRACES_SAMPLER=parentbased_always_on |
| OTEL_LOG_LEVEL | string | OpenTelemetry SDK logniveau. | # OTEL_LOG_LEVEL=INFO |
| OTEL_SDK_DISABLED | boolean | Schakel de OpenTelemetry SDK uit, zelfs als tracing is ingeschakeld. | # OTEL_SDK_DISABLED=false |
| OTEL_IOREDIS_TRACING_ENABLED | boolean | Schakel Redis command-level spans in. Standaard uitgeschakeld om backend-traces op hoog niveau te houden. | # OTEL_IOREDIS_TRACING_ENABLED=false |
Real User Monitoring (Browser)
LibreChat kan browser Real User Monitoring (RUM) telemetrie publiceren naar HyperDX-compatibele OTLP-collectors. RUM is standaard uitgeschakeld.
| Key | Type | Description | Example |
|---|---|---|---|
| RUM_ENABLED | boolean | Schakel browser Real User Monitoring in. Standaard: false. | # RUM_ENABLED=false |
| RUM_PROVIDER | string | Browser RUM-provider. Ondersteunt momenteel `hyperdx`. | # RUM_PROVIDER=hyperdx |
| RUM_URL | string | Publieke collector-URL gebruikt door de public-token modus. | # RUM_URL=http://localhost:4318 |
| RUM_SERVICE_NAME | string | Servicenaam gerapporteerd door de browser SDK. Standaard: librechat-web. | # RUM_SERVICE_NAME=librechat-web |
| RUM_ENVIRONMENT | string | Omgevingslabel gerapporteerd met browser-telemetrie. | # RUM_ENVIRONMENT=development |
| RUM_AUTH_MODE | string | Authenticatiemodus voor browsertelemetrie. Gebruik `publicToken` of `proxy`. | # RUM_AUTH_MODE=publicToken |
| RUM_PUBLIC_TOKEN | string | Publiek browser-token voor public-token modus. Behandel dit als publiek en beperk de opname bij de collector. | # RUM_PUBLIC_TOKEN= |
| RUM_PROXY_TARGET_URL | string | Collector base URL gebruikt door de authenticated proxy mode. Vereist wanneer `RUM_AUTH_MODE=proxy`. | # RUM_PROXY_TARGET_URL=http://otel-collector:4318 |
| RUM_PROXY_TIMEOUT_MS | number | Proxy request timeout in milliseconden. Standaard: 10000. | # RUM_PROXY_TIMEOUT_MS=10000 |
| RUM_TRACE_PROPAGATION_TARGETS | string | Door komma's gescheiden first-party HTTPS-origins of URL's die traceparent-headers moeten ontvangen. | # RUM_TRACE_PROPAGATION_TARGETS=https://api.example.com |
| RUM_DISABLE_REPLAY | boolean | Schakel browser-sessie-replay uit. Standaard: true. | # RUM_DISABLE_REPLAY=true |
| RUM_CONSOLE_CAPTURE | boolean | Leg browser-consolelogboeken vast. Kan gevoelige prompts, antwoorden of payloads verzamelen. | # RUM_CONSOLE_CAPTURE=false |
| RUM_ADVANCED_NETWORK_CAPTURE | boolean | Leg gedetailleerde netwerk-payloads vast. Kan gevoelige prompts, antwoorden of payloads verzamelen. | # RUM_ADVANCED_NETWORK_CAPTURE=false |
| RUM_SAMPLE_RATE | number | Browser-telemetrie-samplefrequentie van 0 tot 1. Standaard: 1. | # RUM_SAMPLE_RATE=1 |
In de publicToken modus verstuurt de browser telemetrie rechtstreeks naar RUM_URL met RUM_PUBLIC_TOKEN. In de proxy modus verstuurt de browser telemetrie via LibreChat; de backend valideert de gebruikerssessie, verwijdert app-authenticatieheaders en stuurt de telemetrie door naar RUM_PROXY_TARGET_URL. Ongeldige of verlopen sessies worden geweigerd met een 204 respons, zodat fouten in browsertelemetrie geen normale API-authenticatiefouten veroorzaken. Proxy-resultaten worden geteld in rum_proxy_requests_total met endpoint en result labels op het LibreChat API /metrics endpoint.
Configuratiepad - librechat.yaml
Specificeer een alternatieve locatie voor het LibreChat configuratiebestand.
Je kunt een absoluut pad, een relatief pad of een URL opgeven. De bestandsnaam in het pad is flexibel en hoeft niet librechat.yaml te zijn; elk geldig configuratiebestand zal werken.
Opmerking: Als je wilt dat LibreChat in de hoofdmap naar het configuratiebestand zoekt (wat het standaardgedrag is), laat deze optie dan simpelweg uitgeschakeld (gecommentarieerd).
| Key | Type | Description | Example |
|---|---|---|---|
| CONFIG_PATH | string | Een alternatieve locatie voor het LibreChat configuratiebestand. | # CONFIG_PATH=https://raw.githubusercontent.com/danny-avila/LibreChat/main/librechat.example.yaml |
Deployment Skills
Deployment Skills worden bij het opstarten alleen-lezen geladen vanuit het bestandssysteem en beschikbaar gesteld aan gebruikers bij wie de Skills-functionaliteit is ingeschakeld.
| Key | Type | Description | Example |
|---|---|---|---|
| DEPLOYMENT_SKILLS_DIR | string | Map met door de deployment geleverde Skills. Standaard ingesteld op `./skill` in de hoofdmap van het project. | # DEPLOYMENT_SKILLS_DIR=./skill |
Herstart LibreChat nadat je deze map of bestanden daarin hebt gewijzigd. Deployment-provided Skills krijgen voorrang op opgeslagen Skills met dezelfde naam.
Configuratievalidatie
Standaard zal LibreChat afsluiten met een foutmelding (exit code 1) als het librechat.yaml configuratiebestand validatiefouten bevat. Dit 'fail-fast' gedrag helpt bij het vroegtijdig opsporen van configuratieproblemen in implementatiepijplijnen en voorkomt dat er wordt gewerkt met onbedoelde standaardinstellingen.
| Key | Type | Description | Example |
|---|---|---|---|
| CONFIG_BYPASS_VALIDATION | boolean | Wanneer ingesteld op `true`, zal de server een waarschuwing loggen en doorgaan met opstarten met de standaardconfiguratie, zelfs als `librechat.yaml` validatiefouten bevat. Dit behoudt het verouderde gedrag. | # CONFIG_BYPASS_VALIDATION=true |
Waarschuwing
Het gebruik van CONFIG_BYPASS_VALIDATION=true wordt niet aanbevolen voor productieomgevingen. Het is bedoeld als een tijdelijke oplossing tijdens het debuggen van configuratieproblemen. Los validatiefouten in uw configuratiebestand altijd op.
Afhandeling van niet-opgevangen uitzonderingen
Standaard zal LibreChat het proces beëindigen wanneer er een niet-opgevangen uitzondering (uncaught exception) optreedt, wat het standaardgedrag van Node.js is. Je kunt dit overschrijven om de app draaiende te houden na niet-opgevangen uitzonderingen.
| Key | Type | Description | Example |
|---|---|---|---|
| CONTINUE_ON_UNCAUGHT_EXCEPTION | boolean | Wanneer ingesteld op `true`, zal de app blijven draaien na het tegenkomen van niet-opgevangen uitzonderingen in plaats van het proces te beëindigen. | # CONTINUE_ON_UNCAUGHT_EXCEPTION=false |
Waarschuwing
Niet aanbevolen voor productie, tenzij noodzakelijk. Niet-opgevangen uitzonderingen kunnen de applicatie in een onvoorspelbare staat achterlaten.
Endpoints
In deze sectie kun je de endpoints en modelselectie configureren, evenals hun API-sleutels en de proxy- en reverse proxy-instellingen voor de endpoints die dit ondersteunen.
Algemene configuratie
Verwijder het commentaarteken voor ENDPOINTS om de beschikbare endpoints in LibreChat aan te passen.
| Key | Type | Description | Example |
|---|---|---|---|
| ENDPOINTS | string | Door komma's gescheiden lijst van beschikbare endpoints. | # ENDPOINTS=openAI,agents,assistants,gptPlugins,azureOpenAI,google,anthropic,bingAI,custom |
| PROXY | string | Uitgaande proxy voor ondersteunde server-side clients. Is van toepassing op zowel HTTP- als HTTPS-doelen. | PROXY= |
| HTTP_PROXY | string | HTTP-proxy-fallback gebruikt door ondersteunde server-side clients wanneer PROXY niet is ingesteld. | # HTTP_PROXY= |
| HTTPS_PROXY | string | HTTPS-proxy-fallback gebruikt door ondersteunde server-side clients wanneer PROXY niet is ingesteld. | # HTTPS_PROXY= |
| NO_PROXY | string | Door komma's gescheiden hosts, domeinen of IP-bereiken die ondersteunde server-side clients moeten omzeilen. De kleinelettervariant no_proxy wordt ook ondersteund. | # NO_PROXY= |
| TITLE_CONVO | boolean | Schakel titels in voor alle endpoints. | TITLE_CONVO=true |
Bekende endpoints - librechat.yaml
- zie ook: Custom Endpoints & Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| ANYSCALE_API_KEY | string | API-sleutel voor Anyscale. | # ANYSCALE_API_KEY= |
| APIPIE_API_KEY | string | API-sleutel voor Apipie. | # APIPIE_API_KEY= |
| COHERE_API_KEY | string | API-sleutel voor Cohere. | # COHERE_API_KEY= |
| FIREWORKS_API_KEY | string | API-sleutel voor Fireworks. | # FIREWORKS_API_KEY= |
| GROQ_API_KEY | string | API-sleutel voor Groq. | # GROQ_API_KEY= |
| MISTRAL_API_KEY | string | API-sleutel voor Mistral. | # MISTRAL_API_KEY= |
| OPENROUTER_KEY | string | API-sleutel voor OpenRouter. | # OPENROUTER_KEY= |
| PERPLEXITY_API_KEY | string | API-sleutel voor Perplexity. | # PERPLEXITY_API_KEY= |
| SHUTTLEAI_API_KEY | string | API-sleutel voor ShuttleAI. | # SHUTTLEAI_API_KEY= |
| TOGETHERAI_API_KEY | string | API-sleutel voor TogetherAI. | # TOGETHERAI_API_KEY= |
| DEEPSEEK_API_KEY | string | API-sleutel voor Deepseek API | # DEEPSEEK_API_KEY= |
Web Search
De webzoekfunctie maakt internetzoekmogelijkheden binnen LibreChat mogelijk.
Belangrijk: De exacte omgevingsvariabelen die hieronder worden getoond zijn standaardverwijzingen en kunnen via het librechat.yaml configuratiebestand worden aangepast om elke gewenste variabelenaam te gebruiken.
Voor gedetailleerde configuratie- en aanpassingsopties, zie: Web Search Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| SERPER_API_KEY | string | API-sleutel voor Serper zoekprovider. Haal je sleutel op via https://serper.dev/api-keys | # SERPER_API_KEY= |
| TAVILY_API_KEY | string | API-sleutel voor de Tavily zoek- en scraper-provider. Haal je sleutel op via https://app.tavily.com/home | # TAVILY_API_KEY= |
| TAVILY_SEARCH_URL | string | Aangepaste Tavily Search API-URL (optioneel). Alleen nodig voor aangepaste of proxy Tavily-compatibele zoek-endpoints. | # TAVILY_SEARCH_URL= |
| TAVILY_EXTRACT_URL | string | Aangepaste Tavily Extract API-URL (optioneel). Alleen nodig voor aangepaste of proxy Tavily-compatibele extract-endpoints. | # TAVILY_EXTRACT_URL= |
| FIRECRAWL_API_KEY | string | API-sleutel voor de Firecrawl scraper-service. Haal je sleutel op via https://docs.firecrawl.dev/introduction#api-key | # FIRECRAWL_API_KEY= |
| FIRECRAWL_API_URL | string | Aangepaste Firecrawl API-URL (optioneel). Alleen nodig voor aangepaste Firecrawl-instanties. | # FIRECRAWL_API_URL= |
| FIRECRAWL_VERSION | string | Firecrawl API-versie (v0 of v1). | # FIRECRAWL_VERSION=v1 |
| JINA_API_KEY | string | API-sleutel voor de Jina reranker-service. Haal je sleutel op via https://jina.ai/api-dashboard/ | # JINA_API_KEY= |
| JINA_API_URL | string | Aangepaste Jina API-URL (optioneel). Alleen nodig voor aangepaste Jina-instanties. | # JINA_API_URL= |
| COHERE_API_KEY | string | API-sleutel voor de Cohere reranker-service. Haal je sleutel op via https://dashboard.cohere.com/welcome/login | # COHERE_API_KEY= |
Opmerking: Deze variabelenamen kunnen worden aangepast in je librechat.yaml configuratiebestand. Je zou bijvoorbeeld CUSTOM_SERPER_KEY kunnen gebruiken in plaats van SERPER_API_KEY door dit te configureren in de instellingen voor webzoeken. Zie de documentatie over Web Search Configuration voor details over het aanpassen van variabelenamen.
Anthropic
zie: Anthropic Endpoint
- Je kunt een toegangssleutel aanvragen via https://platform.claude.com/
- Laat
ANTHROPIC_API_KEY=leeg om dit endpoint uit te schakelen - Stel
ANTHROPIC_API_KEY=in op "user_provided" om gebruikers in staat te stellen hun eigen API-sleutel op te geven via de WebUI - Als je toegang hebt tot een reverse proxy voor
Anthropic, kun je deze instellen metANTHROPIC_REVERSE_PROXY=- laat leeg of zet in commentaar om de standaard base url te gebruiken
| Key | Type | Description | Example |
|---|---|---|---|
| ANTHROPIC_API_KEY | string | Anthropic API-sleutel of "user_provided" om gebruikers in staat te stellen hun eigen API-sleutel op te geven. | Defaults to an empty string. |
| ANTHROPIC_MODELS | string | Door komma's gescheiden lijst met te gebruiken Anthropic-modellen. | # ANTHROPIC_MODELS=claude-fable-5,claude-opus-4-8,claude-opus-4-7,claude-sonnet-4-6,claude-opus-4-6,claude-opus-4-20250514,claude-3-7-sonnet-20250219,claude-3-5-sonnet-20241022,claude-3-5-haiku-20241022 |
| ANTHROPIC_REVERSE_PROXY | string | Reverse proxy voor Anthropic. | # ANTHROPIC_REVERSE_PROXY= |
| ANTHROPIC_TITLE_MODEL | string | VEROUDERD: Model om te gebruiken voor titels met Anthropic. | # ANTHROPIC_TITLE_MODEL=claude-3-haiku-20240307 |
ANTHROPIC_TITLE_MODELis nu verouderd en zal in toekomstige versies worden verwijderd. Gebruik in plaats daarvan detitleModelEndpoint Setting in delibrechat.yamlconfiguratie.
Let op: Moet compatibel zijn met de Anthropic endpoint. Bovendien presteren Claude 2 en Claude 3 modellen het best bij deze taak, waarbij
claude-3-haikumodellen het goedkoopst zijn.
Claude Fable 5 is opgenomen in de standaard Anthropic model-lijst. Fable/Mythos-klasse modellen gebruiken het moderne Anthropic-gedrag in LibreChat: 1M context, ondersteuning voor adaptief denken, ondersteuning voor prompt caching en thinkingDisplay-afhandeling voor samengevatte of weggelaten redeneeroutput.
Anthropic via Vertex AI
Je kunt ook Anthropic Claude modellen gebruiken via Google Cloud Vertex AI. Voor gedetailleerde YAML-configuratieopties, zie: Anthropic Vertex AI Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| ANTHROPIC_USE_VERTEX | boolean | Stel in op true om Anthropic-modellen via Google Vertex AI te gebruiken in plaats van de directe API. | ANTHROPIC_USE_VERTEX=true |
| ANTHROPIC_VERTEX_REGION | string | De Google Cloud regio voor Vertex AI. Standaard: us-east5. | ANTHROPIC_VERTEX_REGION=us-east5 |
Let op: Wanneer je Vertex AI gebruikt, moet je ook
GOOGLE_SERVICE_KEY_FILEconfigureren (zie Google Configuration) met een serviceaccount dat de rolVertex AI Userheeft.
AWS Bedrock
Zie: AWS Bedrock Setup
| Key | Type | Description | Example |
|---|---|---|---|
| BEDROCK_AWS_DEFAULT_REGION | string | Een standaard AWS-regio moet worden opgegeven voor Bedrock. | BEDROCK_AWS_DEFAULT_REGION=us-east-1 |
| BEDROCK_AWS_ACCESS_KEY_ID | string | AWS access key ID voor Bedrock. Optioneel bij gebruik van de standaard AWS-referentieketen. | # BEDROCK_AWS_ACCESS_KEY_ID=your_access_key_id |
| BEDROCK_AWS_SECRET_ACCESS_KEY | string | AWS secret access key voor Bedrock. Optioneel bij gebruik van de standaard AWS credentials chain. | # BEDROCK_AWS_SECRET_ACCESS_KEY=your_secret_access_key |
| BEDROCK_AWS_SESSION_TOKEN | string | AWS-sessietoken voor tijdelijke inloggegevens. Optioneel. | # BEDROCK_AWS_SESSION_TOKEN=your_session_token |
| BEDROCK_AWS_PROFILE | string | AWS shared config profielnaam voor Bedrock. Optioneel bij gebruik van de standaard AWS credentials chain. | # BEDROCK_AWS_PROFILE=your-profile-name |
| BEDROCK_AWS_BEARER_TOKEN | string | Amazon Bedrock API-sleutel voor bearer-authenticatie, of user_provided om gebruikers hun eigen Bedrock API-sleutel in de UI te laten invoeren. | # BEDROCK_AWS_BEARER_TOKEN=your_bedrock_api_key |
| BEDROCK_AWS_MODELS | string | Door komma's gescheiden lijst van Bedrock model-ID's. Indien weggelaten, worden alle bekende ondersteunde modellen opgenomen. | # BEDROCK_AWS_MODELS=anthropic.claude-fable-5,anthropic.claude-opus-4-8,anthropic.claude-opus-4-7,anthropic.claude-sonnet-4-6,meta.llama3-1-8b-instruct-v1:0 |
Let op: Je kunt de toegangssleutels weglaten om de standaard AWS-referentieketen te gebruiken (omgevingsvariabelen, SSO-referenties, gedeelde referentiebestanden of EC2/ECS Instance Metadata Service). Zie AWS Bedrock Setup voor meer details.
Claude Fable/Mythos-class modellen op Bedrock zijn uitsluitend voor inference-profiles. Gebruik een profile ID zoals us.anthropic.claude-fable-5 en schakel de vereiste Anthropic-instelling voor het delen van gegevens in via de Bedrock-console of de Data Retention API voordat je ze aanroept.
BingAI
Bing, ook gebruikt voor Sydney, jailbreak en Bing Image Creator
| Key | Type | Description | Example |
|---|---|---|---|
| BINGAI_TOKEN | string | Bing access token. Laat leeg om uit te schakelen. Kan worden ingesteld op "user_provided" om gebruikers in staat te stellen hun eigen token op te geven via de WebUI. | BINGAI_TOKEN=user_provided |
| BINGAI_HOST | string | Bing host-URL. Laat deze uitgeschakeld om de standaardserver te gebruiken. | # BINGAI_HOST=https://cn.bing.com |
Let op: Het wordt aanbevolen om dit op "user_provided" te laten staan en het token via de WebUI op te geven.
Volg deze instructies om het Google Endpoint in te stellen.
| Key | Type | Description | Example |
|---|---|---|---|
| GOOGLE_KEY | string | Google API-sleutel. Stel in op "user_provided" om gebruikers in staat te stellen hun eigen API-sleutel op te geven via de WebUI. | GOOGLE_KEY=user_provided |
| GOOGLE_SERVICE_KEY_FILE | string | Pad naar het JSON-sleutelbestand van het Google-serviceaccount, de URL om dit op te halen, of een string-versie van de JSON. Wordt gebruikt voor Vertex AI-authenticatie (bijv. OCR-functies). | GOOGLE_SERVICE_KEY_FILE=/path/to/auth.json |
| GOOGLE_REVERSE_PROXY | string | Google reverse proxy URL. | GOOGLE_REVERSE_PROXY= |
| GOOGLE_AUTH_HEADER | boolean | Gebruik de Authorization-header in plaats van X-goog-api-key. Sommige reverse proxies vereisen dit. | # GOOGLE_AUTH_HEADER=true |
| GOOGLE_MODELS | string | Beschikbare Gemini API Google-modellen, gescheiden door komma's. | GOOGLE_MODELS=gemini-3.1-pro-preview,gemini-3.1-pro-preview-customtools,gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite,gemini-2.0-flash,gemini-2.0-flash-lite |
| GOOGLE_MODELS | string | Beschikbare Vertex AI Google-modellen, gescheiden door komma's. | GOOGLE_MODELS=gemini-3.1-pro-preview,gemini-3.1-pro-preview-customtools,gemini-2.5-pro,gemini-2.5-flash,gemini-2.5-flash-lite,gemini-2.0-flash-001,gemini-2.0-flash-lite-001 |
| GOOGLE_TITLE_MODEL | string | VEROUDERD: Het model dat wordt gebruikt voor titels met Google. | GOOGLE_TITLE_MODEL=gemini-pro |
| GOOGLE_LOC | string | Specificeert de Google Cloud-locatie voor het verwerken van API-verzoeken | GOOGLE_LOC=us-central1 |
| GOOGLE_CLOUD_LOCATION | string | Alternatieve regio voor Gemini Image Generation (bijv. global). | # GOOGLE_CLOUD_LOCATION=global |
| GOOGLE_EXCLUDE_SAFETY_SETTINGS | string | Laat de veiligheidsinstellingen die standaard zijn inbegrepen volledig weg, waardoor de standaardinstellingen van de provider worden gebruikt | GOOGLE_EXCLUDE_SAFETY_SETTINGS=true |
| GOOGLE_SAFETY_SEXUALLY_EXPLICIT | string | Veiligheidsinstelling voor seksueel expliciete inhoud. Opties zijn BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY en OFF. | GOOGLE_SAFETY_SEXUALLY_EXPLICIT=BLOCK_ONLY_HIGH |
| GOOGLE_SAFETY_HATE_SPEECH | string | Veiligheidsinstelling voor haatzaaiende inhoud. Opties zijn BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY en OFF. | GOOGLE_SAFETY_HATE_SPEECH=BLOCK_ONLY_HIGH |
| GOOGLE_SAFETY_HARASSMENT | string | Veiligheidsinstelling voor intimidatie-inhoud. Opties zijn BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY en OFF. | GOOGLE_SAFETY_HARASSMENT=BLOCK_ONLY_HIGH |
| GOOGLE_SAFETY_DANGEROUS_CONTENT | string | Veiligheidsinstelling voor gevaarlijke inhoud. Opties zijn BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY en OFF. | GOOGLE_SAFETY_DANGEROUS_CONTENT=BLOCK_ONLY_HIGH |
| GOOGLE_SAFETY_CIVIC_INTEGRITY | string | Veiligheidsinstelling voor inhoud over burgerlijke integriteit. Opties zijn BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY en OFF. | # GOOGLE_SAFETY_CIVIC_INTEGRITY=BLOCK_ONLY_HIGH |
Pas de beschikbare modellen aan, gescheiden door komma's, zonder spaties. De eerste zal de standaard zijn. Laat het leeg of geef het als commentaar op om de interne instellingen te gebruiken.
GOOGLE_TITLE_MODELis nu verouderd en zal in toekomstige versies worden verwijderd. Gebruik in plaats daarvan detitleModelEndpoint Setting in delibrechat.yamlconfiguratie.
Let op: Voor de Vertex AI GOOGLE_SAFETY variabelen heb je standaard geen toegang tot de BLOCK_NONE instelling. Om deze beperkte HarmBlockThreshold instelling te gebruiken, moet je een van de volgende dingen doen:
- (a) Krijg toegang via een allowlist via je Google-accountteam
- (b) Wijzig uw accounttype naar maandelijkse facturering door deze instructie te volgen: https://cloud.google.com/billing/docs/how-to/invoiced-billing
Gemini Afbeeldingengeneratie
Gemini Image Generation is een tool voor Agents die zowel de Gemini API als Vertex AI ondersteunt. Zie: Gemini Image Generation
| Key | Type | Description | Example |
|---|---|---|---|
| GEMINI_API_KEY | string | Toegewezen Gemini API-sleutel voor het genereren van afbeeldingen. Valt terug op GOOGLE_KEY indien niet ingesteld. | # GEMINI_API_KEY=your_gemini_api_key |
| GEMINI_IMAGE_MODEL | string | Gemini-model voor het genereren van afbeeldingen. Standaard: gemini-2.5-flash-image. | # GEMINI_IMAGE_MODEL=gemini-2.5-flash-image |
Let op: Wanneer er geen API-sleutel is geconfigureerd, valt de tool automatisch terug op Vertex AI met behulp van het serviceaccount uit
GOOGLE_SERVICE_KEY_FILE. Het serviceaccount moet de rolVertex AI Userhebben.
OpenAI
Zie: OpenAI Setup
| Key | Type | Description | Example |
|---|---|---|---|
| OPENAI_API_KEY | string | Je OpenAI API-sleutel. Laat leeg om dit endpoint uit te schakelen of stel in op "user_provided" om gebruikers toe te staan hun eigen API-sleutel op te geven via de WebUI. | OPENAI_API_KEY=user_provided |
| OPENAI_MODELS | string | Pas de beschikbare modellen aan, gescheiden door komma's, zonder spaties. De eerste zal de standaard zijn. Laat uitgeschakeld (met commentaar) om de interne instellingen te gebruiken. | # OPENAI_MODELS=gpt-5,gpt-5-codex,gpt-5-mini,gpt-5-nano,o3-pro,o3,o4-mini,gpt-4.1,gpt-4.1-mini,gpt-4.1-nano,o3-mini,o1-pro,o1,gpt-4o,gpt-4o-mini |
| DEBUG_OPENAI | boolean | Schakel de debug-modus in voor de OpenAI endpoint. | DEBUG_OPENAI=false |
| OPENAI_SUMMARIZE | boolean | Schakel berichtsamenvatting in. Standaard op False ingesteld | # OPENAI_SUMMARIZE=true |
| OPENAI_SUMMARY_MODEL | string | Het model dat wordt gebruikt voor OpenAI-samenvattingen. | # OPENAI_SUMMARY_MODEL=gpt-3.5-turbo |
| OPENAI_FORCE_PROMPT | boolean | Forceer de API om aangeroepen te worden met een prompt-payload in plaats van een messages-payload. | # OPENAI_FORCE_PROMPT=false |
| OPENAI_ORGANIZATION | string | Specificeer welke organisatie moet worden gebruikt voor elk API-verzoek aan OpenAI. Optioneel | # OPENAI_ORGANIZATION= |
| OPENAI_REVERSE_PROXY | string | VEROUDERD: Reverse proxy-instellingen voor OpenAI. | # OPENAI_REVERSE_PROXY= |
| OPENAI_TITLE_MODEL | string | VEROUDERD: Het model dat wordt gebruikt voor OpenAI-titels. | # OPENAI_TITLE_MODEL=gpt-3.5-turbo |
OPENAI_TITLE_MODELis nu verouderd en zal in toekomstige versies worden verwijderd. Gebruik in plaats daarvan detitleModelEndpoint Setting in delibrechat.yamlconfiguratie.OPENAI_REVERSE_PROXYis nu verouderd en zal in toekomstige versies worden verwijderd. Gebruik in plaats daarvan een custom endpoint.
Assistants
Zie: Assistants Setup
| Key | Type | Description | Example |
|---|---|---|---|
| ASSISTANTS_API_KEY | string | Uw OpenAI API-sleutel voor de Assistants API. Laat leeg om dit endpoint uit te schakelen of stel in op "user_provided" om gebruikers in staat te stellen hun eigen API-sleutel op te geven via de WebUI. | ASSISTANTS_API_KEY=user_provided |
| ASSISTANTS_MODELS | string | Pas de beschikbare modellen aan, gescheiden door komma's, zonder spaties. De eerste zal de standaard zijn. Laat leeg om de interne instellingen te gebruiken. | # ASSISTANTS_MODELS=gpt-3.5-turbo-0125,gpt-3.5-turbo-16k-0613,gpt-3.5-turbo-16k,gpt-3.5-turbo,gpt-4,gpt-4-0314,gpt-4-32k-0314,gpt-4-0613,gpt-3.5-turbo-0613,gpt-3.5-turbo-1106,gpt-4-0125-preview,gpt-4-turbo-preview,gpt-4-1106-preview |
| ASSISTANTS_BASE_URL | string | Alternatieve basis-URL voor Assistants API. | # ASSISTANTS_BASE_URL= |
Let op: Je kunt de beschikbare modellen aanpassen, gescheiden door komma's, zonder spaties. De eerste zal de standaard zijn. Laat het leeg of becommentarieerd om de interne instellingen te gebruiken.
Tavily
Haal je API-sleutel hier: https://tavily.com/#api
Omgevingsvariabelen:
| Key | Type | Description | Example |
|---|---|---|---|
| TAVILY_API_KEY | string | Tavily API-sleutel. | TAVILY_API_KEY= |
Traversaal
Beschrijving: LLM-verbeterde zoektool.
Haal de API-sleutel hier: https://api.traversaal.ai/dashboard
Omgevingsvariabelen:
| Key | Type | Description | Example |
|---|---|---|---|
| TRAVERSAAL_API_KEY | string | Traversaal API-sleutel. | TRAVERSAAL_API_KEY= |
WolframAlpha
Zie gedetailleerde instructies hier: Wolfram Alpha
Omgevingsvariabelen:
| Key | Type | Description | Example |
|---|---|---|---|
| WOLFRAM_APP_ID | string | Wolfram Alpha App ID. | WOLFRAM_APP_ID= |
Zapier
Beschrijving: - Je hebt een Zapier-account nodig. Haal je API-sleutel hier vandaan: Zapier
- Maak toegestane acties aan - Volg stap 3 in deze snelstartgids van Zapier
Let op: Het is bekend dat Zapier kieskeurig kan zijn bij bepaalde acties. Het schrijven van e-mailconcepten is waarschijnlijk het beste gebruik ervan.
Omgevingsvariabelen:
| Key | Type | Description | Example |
|---|---|---|---|
| ZAPIER_NLA_API_KEY | string | Zapier NLA API-sleutel. | ZAPIER_NLA_API_KEY= |
OpenWeather
Zie gedetailleerde instructies hier: OpenWeather
| Key | Type | Description | Example |
|---|---|---|---|
| OPENWEATHER_API_KEY | string | OpenWeather API-sleutel voor de One Call API 3.0. | OPENWEATHER_API_KEY= |
Code Interpreter
De Code Interpreter API biedt een veilige omgeving voor het uitvoeren van code en het beheren van bestanden. Zie: Code Interpreter API
| Key | Type | Description | Example |
|---|---|---|---|
| LIBRECHAT_CODE_API_KEY | string | API-sleutel voor de Code Interpreter-service. Indien globaal ingesteld, biedt dit toegang aan alle gebruikers. | LIBRECHAT_CODE_API_KEY=your-api-key |
| LIBRECHAT_CODE_BASEURL | string | Aangepaste basis-URL voor de Code Interpreter API (alleen voor Enterprise-abonnementen). | # LIBRECHAT_CODE_BASEURL=https://your-custom-domain.com |
Artifacts
Artifacts maken gebruik van de CodeSandbox library voor het veilig renderen van HTML/JS-code. Standaard wordt de openbare CDN gebruikt die door CodeSandbox wordt gehost.
Gelukkig kun je, voor degenen met interne netwerkvereisten, de bundler zelf hosten die de frontend-code compileert en een aangepaste bundler-URL opgeven voor Sandpack.
Voor meer informatie, inclusief kant-en-klare container-images voor self-hosting waarbij metrische verzoeken zijn verwijderd, zie: https://github.com/LibreChat-AI/codesandbox-client
| Key | Type | Description | Example |
|---|---|---|---|
| SANDPACK_BUNDLER_URL | string | Specificeert een aangepaste bundler-URL voor Sandpack, gebruikt door Artifacts | SANDPACK_BUNDLER_URL=your-bundler-url |
Zoeken (Meilisearch)
Schakelt zoeken in berichten en gesprekken in:
| Key | Type | Description | Example |
|---|---|---|---|
| SEARCH | boolean | Schakelt zoeken in berichten en gesprekken in. | SEARCH=true |
Let op: Als je geen Docker gebruikt, vereist dit de installatie van de gratis self-hosted Meilisearch of een betaald abonnement op afstand.
Om geanonimiseerde telemetrie-analyses voor MeiliSearch uit te schakelen voor absolute privacy, stel in op true:
| Key | Type | Description | Example |
|---|---|---|---|
| MEILI_NO_ANALYTICS | boolean | Schakelt geanonimiseerde telemetrie-analyse voor MeiliSearch uit. | MEILI_NO_ANALYTICS=true |
Voor de API-server om verbinding te maken met de zoekserver. Vervang '0.0.0.0' door 'meilisearch' als je MeiliSearch serveert met docker-compose.
| Key | Type | Description | Example |
|---|---|---|---|
| MEILI_HOST | string | De API-serververbinding met de zoekserver. | MEILI_HOST=http://0.0.0.0:7700 |
Deze master key moet ten minste 16 bytes lang zijn en bestaan uit geldige UTF-8-tekens. MeiliSearch zal een foutmelding geven en weigeren op te starten als er geen master key wordt verstrekt of als deze korter is dan 16 bytes. MeiliSearch zal een veilige, automatisch gegenereerde master key voorstellen. Dit is een kant-en-klare veilige key voor docker-compose; je kunt deze vervangen door je eigen key.
| Key | Type | Description | Example |
|---|---|---|---|
| MEILI_MASTER_KEY | string | De hoofdsleutel voor MeiliSearch. | MEILI_MASTER_KEY=DrhYf7zENyR6AlUCKmnz0eYASOQdl6zxH7s7MKFSfFCt |
Om te voorkomen dat LibreChat een database-indexeringssynchronisatie met Meilisearch probeert uit te voeren, kun je de volgende omgevingsvariabele instellen op true. Dit is nuttig in een node-cluster of een multi-node setup, waar slechts één instantie verantwoordelijk moet zijn voor het indexeren.
| Key | Type | Description | Example |
|---|---|---|---|
| MEILI_NO_SYNC | string | Schakelaar voor het uitschakelen van Meilisearch index-synchronisatie | MEILI_NO_SYNC=true |
RAG API
Configureer Retrieval-Augmented Generation voor document-indexering en contextbewuste antwoorden. Zie: RAG API Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| RAG_API_URL | string | URL van de RAG API-service. | RAG_API_URL=http://host.docker.internal:8000 |
| RAG_OPENAI_API_KEY | string | OpenAI API-sleutel voor RAG-embeddings. Overschrijft OPENAI_API_KEY voor RAG. | # RAG_OPENAI_API_KEY=sk-your-openai-api-key |
| RAG_OPENAI_BASEURL | string | Aangepaste OpenAI base URL voor RAG-embeddings. | # RAG_OPENAI_BASEURL= |
| RAG_USE_FULL_CONTEXT | boolean | Haal de volledige bestandscontext op in plaats van de top 4 resultaten. Standaard: false. | # RAG_USE_FULL_CONTEXT=true |
| EMBEDDINGS_PROVIDER | string | Embeddings provider: openai, azure, huggingface, huggingfacetei, of ollama. Standaard: openai. | # EMBEDDINGS_PROVIDER=openai |
| EMBEDDINGS_MODEL | string | Te gebruiken embeddings-model. De standaardwaarde hangt af van de provider. | # EMBEDDINGS_MODEL=text-embedding-3-small |
Let op: Bij gebruik van de standaard Docker-configuratie wordt het
.envbestand gedeeld tussen LibreChat en de RAG API. Zie de RAG API-documentatie voor de volledige configuratieopties.
Spraak-naar-tekst & Tekst-naar-spraak
Configureer Speech-to-Text (STT) en Text-to-Speech (TTS) services. Zie: Speech Settings
| Key | Type | Description | Example |
|---|---|---|---|
| STT_API_KEY | string | API-sleutel voor Speech-to-Text-service (bijv. OpenAI Whisper). | # STT_API_KEY= |
| TTS_API_KEY | string | API-sleutel voor Text-to-Speech-service (bijv. OpenAI TTS). | # TTS_API_KEY= |
Let op: STT en TTS worden voornamelijk geconfigureerd via de
speech:sectie inlibrechat.yaml. Deze omgevingsvariabelen worden in die configuratie gebruikt. Zie Speech Settings voor de volledige YAML-configuratieopties.
Gedeelde links
Configureer de functionaliteit voor gedeelde gesprekslinks.
| Key | Type | Description | Example |
|---|---|---|---|
| ALLOW_SHARED_LINKS | boolean | Schakel gedeelde gesprekslinks in of uit. Standaard: true. | ALLOW_SHARED_LINKS=true |
| ALLOW_SHARED_LINKS_PUBLIC | boolean | Sta toe dat gedeelde links openbaar toegankelijk zijn zonder authenticatie. Standaard: false. | ALLOW_SHARED_LINKS_PUBLIC=false |
| SHARED_LINKS_SNAPSHOT_FILES | boolean | Snapshot-bestanden waarnaar wordt verwezen door een gedeelde chat, zodat kijkers ze kunnen bekijken of downloaden via de gedeelde link. Overschrijft interface.sharedLinks.snapshotFiles wanneer ingesteld. | SHARED_LINKS_SNAPSHOT_FILES=true |
ALLOW_SHARED_LINKS is de overkoepelende schakelaar voor de functie. Rolrechten bepalen nu wie gedeelde links kan aanmaken, ze kan delen met geauthenticeerde gebruikers, of ze zichtbaar kan maken voor iedereen; zie interface.sharedLinks. ALLOW_SHARED_LINKS_PUBLIC regelt alleen of openbaar gedeelde links zonder authenticatie kunnen worden bekeken. SHARED_LINKS_SNAPSHOT_FILES is een globale overschrijving voor bestands-snapshots van gedeelde links en kan het serveren van snapshots voor elke link uitschakelen wanneer dit is ingesteld op false.
Gebruikerssysteem
Deze sectie bevat de configuratie voor:
- Geautomatiseerde moderatie
- Saldo/Tokengebruik
- Registratie en Social Logins
- E-mail wachtwoord opnieuw instellen
Moderatie
Het Automated Moderation System gebruikt een scoresysteem om gebruikersovertredingen bij te houden. Wanneer gebruikers acties uitvoeren zoals overmatig inloggen, registreren of berichten versturen, verzamelen ze overtredingspunten. Bij het bereiken van een ingestelde drempelwaarde worden de gebruiker en hun IP-adres tijdelijk verbannen. Dit systeem waarborgt de platformbeveiliging door snelle of verdachte activiteiten te monitoren en te bestraffen.
zie: Geautomatiseerde Moderatie
Basisinstellingen voor moderatie
| Key | Type | Description | Example |
|---|---|---|---|
| OPENAI_MODERATION | boolean | Of OpenAI-moderatie moet worden ingeschakeld voor de **OpenAI**- en **Plugins**-endpoints. | OPENAI_MODERATION=false |
| OPENAI_MODERATION_API_KEY | string | Je OpenAI API-sleutel. | OPENAI_MODERATION_API_KEY= |
| OPENAI_MODERATION_REVERSE_PROXY | string | Let op: Standaard uitgeschakeld, dit werkt niet met alle reverse proxy's. | # OPENAI_MODERATION_REVERSE_PROXY= |
Instellingen voor verbannen
| Key | Type | Description | Example |
|---|---|---|---|
| BAN_VIOLATIONS | boolean | Of het verbannen van gebruikers voor overtredingen moet worden ingeschakeld (ze worden nog steeds gelogd). | BAN_VIOLATIONS=true |
| BAN_DURATION | integer | Hoe lang de gebruiker en het bijbehorende IP-adres verbannen zijn (in milliseconden). | BAN_DURATION=1000 * 60 * 60 * 2 |
| BAN_INTERVAL | integer | De gebruiker wordt elke keer verbannen wanneer hun score de intervaldrempel bereikt of overschrijdt. | BAN_INTERVAL=20 |
Snelheidsbeperking voor inloggen en registratie
Voorkomt brute-force-aanvallen en spamregistraties door het aantal inlogpogingen en nieuwe accountregistraties te beperken.
| Key | Type | Description | Example |
|---|---|---|---|
| LOGIN_MAX | integer | Het maximale aantal toegestane aanmeldingen per IP per LOGIN_WINDOW. | LOGIN_MAX=7 |
| LOGIN_WINDOW | integer | In minuten, bepaalt het tijdsvenster voor LOGIN_MAX aanmeldingen. | LOGIN_WINDOW=5 |
| REGISTER_MAX | integer | Het maximale aantal registraties toegestaan per IP per REGISTER_WINDOW. | REGISTER_MAX=5 |
| REGISTER_WINDOW | integer | Bepaalt in minuten het tijdsbestek voor REGISTER_MAX registraties. | REGISTER_WINDOW=60 |
Score voor elke overtreding
| Key | Type | Description | Example |
|---|---|---|---|
| LOGIN_VIOLATION_SCORE | integer | Score voor inlogschendingen. | LOGIN_VIOLATION_SCORE=1 |
| REGISTRATION_VIOLATION_SCORE | integer | Score voor registratieovertredingen. | REGISTRATION_VIOLATION_SCORE=1 |
| CONCURRENT_VIOLATION_SCORE | integer | Score voor gelijktijdige overtredingen. | CONCURRENT_VIOLATION_SCORE=1 |
| MESSAGE_VIOLATION_SCORE | integer | Score voor berichtschendingen. | MESSAGE_VIOLATION_SCORE=1 |
| NON_BROWSER_VIOLATION_SCORE | integer | Score voor niet-browser overtredingen. | NON_BROWSER_VIOLATION_SCORE=20 |
| ILLEGAL_MODEL_REQ_SCORE | integer | Score voor illegale modelverzoeken. | ILLEGAL_MODEL_REQ_SCORE=5 |
| IMPORT_VIOLATION_SCORE | integer | Score voor schendingen bij het importeren van gesprekken. | IMPORT_VIOLATION_SCORE=1 |
| FORK_VIOLATION_SCORE | integer | Score voor schendingen bij het splitsen van gesprekken. | FORK_VIOLATION_SCORE=1 |
| TTS_VIOLATION_SCORE | integer | Score voor text-to-speech-overtredingen. | TTS_VIOLATION_SCORE=0 |
| STT_VIOLATION_SCORE | integer | Score voor speech-to-text-overtredingen. | STT_VIOLATION_SCORE=0 |
| FILE_UPLOAD_VIOLATION_SCORE | integer | Score voor overtredingen bij bestandsuploads. | FILE_UPLOAD_VIOLATION_SCORE=0 |
| RESET_PASSWORD_VIOLATION_SCORE | integer | Score voor schendingen bij het opnieuw instellen van wachtwoorden. | RESET_PASSWORD_VIOLATION_SCORE=0 |
| VERIFY_EMAIL_VIOLATION_SCORE | integer | Score voor schendingen van e-mailverificatie. | VERIFY_EMAIL_VIOLATION_SCORE=0 |
| TOOL_CALL_VIOLATION_SCORE | integer | Score voor overtredingen bij tool-aanroepen. | TOOL_CALL_VIOLATION_SCORE=0 |
| CONVO_ACCESS_VIOLATION_SCORE | integer | Score voor schendingen van toegang tot gesprekken. | CONVO_ACCESS_VIOLATION_SCORE=0 |
Let op: Toegang die niet via een browser verloopt en illegale modelverzoeken zijn bijna altijd kwaadaardig, omdat dit betekent dat een derde partij probeert toegang te krijgen tot de server via een geautomatiseerd script.
Berichtenlimiet (per gebruiker & IP)
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_CONCURRENT_MESSAGES | boolean | Of het aantal berichten dat een gebruiker per verzoek kan verzenden moet worden beperkt. | LIMIT_CONCURRENT_MESSAGES=true |
| CONCURRENT_MESSAGE_MAX | integer | Het maximale aantal berichten dat een gebruiker per verzoek kan verzenden. | CONCURRENT_MESSAGE_MAX=2 |
Limiters
Let op: Je kunt beide limiters gebruiken, maar de standaardinstelling is om alleen op IP te limiteren.
IP Limiter:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_MESSAGE_IP | boolean | Of het aantal berichten dat een IP mag verzenden per `MESSAGE_IP_WINDOW` moet worden beperkt. | LIMIT_MESSAGE_IP=true |
| MESSAGE_IP_MAX | integer | Het maximale aantal berichten dat een IP kan verzenden per `MESSAGE_IP_WINDOW`. | MESSAGE_IP_MAX=40 |
| MESSAGE_IP_WINDOW | integer | Bepaalt in minuten het tijdsvenster voor `MESSAGE_IP_MAX` berichten. | MESSAGE_IP_WINDOW=1 |
Gebruikerslimiet:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_MESSAGE_USER | boolean | Of het aantal berichten dat een gebruiker per `MESSAGE_USER_WINDOW` kan verzenden moet worden beperkt. | LIMIT_MESSAGE_USER=false |
| MESSAGE_USER_MAX | integer | Het maximale aantal berichten dat een gebruiker kan verzenden per `MESSAGE_USER_WINDOW`. | MESSAGE_USER_MAX=40 |
| MESSAGE_USER_WINDOW | integer | Bepaalt in minuten het tijdsvenster voor `MESSAGE_USER_MAX` berichten. | MESSAGE_USER_WINDOW=1 |
Import conversatie rate limiting
Beperkt hoe vaak gebruikers gesprekken kunnen importeren om misbruik te voorkomen.
Let op: Je kunt beide limiters gebruiken, maar de standaardinstelling is om alleen op IP te limiteren.
IP Limiter:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_IMPORT_IP | boolean | Of het aantal conversatie-imports dat een IP kan uitvoeren per `IMPORT_IP_WINDOW` moet worden beperkt. | LIMIT_IMPORT_IP=true |
| IMPORT_IP_MAX | integer | Het maximale aantal gespreksimporten dat een IP-adres kan uitvoeren per `IMPORT_IP_WINDOW`. | IMPORT_IP_MAX=100 |
| IMPORT_IP_WINDOW | integer | Bepaalt in minuten het tijdsvenster voor `IMPORT_IP_MAX` imports. | IMPORT_IP_WINDOW=1 |
Gebruikerslimiet:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_IMPORT_USER | boolean | Of het aantal gespreksimportaties dat een gebruiker per `IMPORT_USER_WINDOW` mag uitvoeren, moet worden beperkt. | LIMIT_IMPORT_USER=false |
| IMPORT_USER_MAX | integer | Het maximale aantal conversatie-imports dat een gebruiker kan uitvoeren per `IMPORT_USER_WINDOW`. | IMPORT_USER_MAX=50 |
| IMPORT_USER_WINDOW | integer | Bepaalt in minuten het tijdsbestek voor `IMPORT_USER_MAX` imports. | IMPORT_USER_WINDOW=1 |
Snelheidsbeperking voor het forken van gesprekken
Beperkt hoe vaak gebruikers conversaties kunnen forken om misbruik te voorkomen.
Let op: Je kunt beide limiters gebruiken, maar de standaardinstelling is om alleen op IP te limiteren.
IP Limiter:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_FORK_IP | boolean | Of het aantal conversatie-forks dat een IP kan aanmaken per `FORK_IP_WINDOW` moet worden beperkt. | LIMIT_FORK_IP=true |
| FORK_IP_MAX | integer | Het maximale aantal gespreks-forks dat een IP kan aanmaken per `FORK_IP_WINDOW`. | FORK_IP_MAX=30 |
| FORK_IP_WINDOW | integer | Bepaalt in minuten het tijdsbestek voor `FORK_IP_MAX` forks. | FORK_IP_WINDOW=1 |
Gebruikerslimiet:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_FORK_USER | boolean | Of het aantal gespreks-forks dat een gebruiker per `FORK_USER_WINDOW` kan aanmaken, moet worden beperkt. | LIMIT_FORK_USER=false |
| FORK_USER_MAX | integer | Het maximale aantal gespreksvertakkingen dat een gebruiker per `FORK_USER_WINDOW` kan aanmaken. | FORK_USER_MAX=7 |
| FORK_USER_WINDOW | integer | Bepaalt in minuten het tijdsvenster voor `FORK_USER_MAX` forks. | FORK_USER_WINDOW=1 |
Limiet op uploadsnelheid van bestanden
Beperkt hoe vaak gebruikers bestanden kunnen uploaden om misbruik te voorkomen.
Let op: Deze kunnen ook worden geconfigureerd via
librechat.yamlin de sectierateLimits.fileUploads.
IP Limiter:
| Key | Type | Description | Example |
|---|---|---|---|
| FILE_UPLOAD_IP_MAX | integer | Maximaal aantal bestandsuploads per IP per `FILE_UPLOAD_IP_WINDOW`. Standaard: 100. | # FILE_UPLOAD_IP_MAX=100 |
| FILE_UPLOAD_IP_WINDOW | integer | In minuten, bepaalt het tijdsvenster voor `FILE_UPLOAD_IP_MAX`. Standaard: 15. | # FILE_UPLOAD_IP_WINDOW=15 |
Gebruikerslimiet:
| Key | Type | Description | Example |
|---|---|---|---|
| FILE_UPLOAD_USER_MAX | integer | Maximaal aantal bestandsuploads per gebruiker per `FILE_UPLOAD_USER_WINDOW`. Standaard: 50. | # FILE_UPLOAD_USER_MAX=50 |
| FILE_UPLOAD_USER_WINDOW | integer | In minuten, bepaalt het tijdsvenster voor `FILE_UPLOAD_USER_MAX`. Standaard: 15. | # FILE_UPLOAD_USER_WINDOW=15 |
TTS (Text-to-Speech) rate limiting
Beperkt hoe vaak gebruikers Text-to-Speech kunnen gebruiken om misbruik te voorkomen.
Let op: Deze kunnen ook worden geconfigureerd via
librechat.yamlin de sectierateLimits.tts.
IP Limiter:
| Key | Type | Description | Example |
|---|---|---|---|
| TTS_IP_MAX | integer | Maximaal aantal TTS-verzoeken per IP per `TTS_IP_WINDOW`. Standaard: 100. | # TTS_IP_MAX=100 |
| TTS_IP_WINDOW | integer | In minuten, bepaalt het tijdsvenster voor `TTS_IP_MAX`. Standaard: 1. | # TTS_IP_WINDOW=1 |
Gebruikerslimiet:
| Key | Type | Description | Example |
|---|---|---|---|
| TTS_USER_MAX | integer | Maximaal aantal TTS-verzoeken per gebruiker per `TTS_USER_WINDOW`. Standaard: 50. | # TTS_USER_MAX=50 |
| TTS_USER_WINDOW | integer | In minuten, bepaalt het tijdsvenster voor `TTS_USER_MAX`. Standaard: 1. | # TTS_USER_WINDOW=1 |
STT (Speech-to-Text) rate limiting
Beperkt hoe vaak gebruikers Speech-to-Text kunnen gebruiken om misbruik te voorkomen.
Let op: Deze kunnen ook worden geconfigureerd via
librechat.yamlin derateLimits.sttsectie.
IP Limiter:
| Key | Type | Description | Example |
|---|---|---|---|
| STT_IP_MAX | integer | Maximaal aantal STT-verzoeken per IP per `STT_IP_WINDOW`. Standaard: 100. | # STT_IP_MAX=100 |
| STT_IP_WINDOW | integer | In minuten, bepaalt het tijdsvenster voor `STT_IP_MAX`. Standaard: 1. | # STT_IP_WINDOW=1 |
Gebruikerslimiet:
| Key | Type | Description | Example |
|---|---|---|---|
| STT_USER_MAX | integer | Maximaal aantal STT-verzoeken per gebruiker per `STT_USER_WINDOW`. Standaard: 50. | # STT_USER_MAX=50 |
| STT_USER_WINDOW | integer | In minuten, bepaalt het tijdsvenster voor `STT_USER_MAX`. Standaard: 1. | # STT_USER_WINDOW=1 |
Balans
De volgende functie maakt het beheer van gebruikerssaldi binnen de endpoints van het systeem mogelijk. Je hebt de optie om handmatig saldi toe te voegen, of je kunt ervoor kiezen om een systeem te implementeren dat automatisch saldi voor gebruikers opbouwt. Als er een specifiek beginsaldo is gedefinieerd in de configuratie, worden er automatisch tokens bijgeschreven op het saldo van de gebruiker wanneer deze zich registreert.
zie: Token Usage
| Key | Type | Description | Example |
|---|---|---|---|
| CHECK_BALANCE | boolean | Schakel token-tegoedbalansen in voor de OpenAI/Plugins endpoints. | CHECK_BALANCE=false |
| START_BALANCE | integer | Als de waarde is ingesteld, worden er na registratie tokens bijgeschreven op het saldo van de gebruiker. | START_BALANCE=20000 |
Saldi beheren
- Voer
npm run add-balanceuit om handmatig saldi toe te voegen.- Je kunt ook het e-mailadres en het aantal token-credits opgeven dat moet worden toegevoegd, bijv.:
npm run add-balance [email protected] 1000
- Je kunt ook het e-mailadres en het aantal token-credits opgeven dat moet worden toegevoegd, bijv.:
- Voer
npm run set-balanceuit om handmatig saldi in te stellen, vergelijkbaar metadd-balance. - Voer
npm run list-balancesuit om het saldo van elke gebruiker weer te geven.
Let op: 1000 credits = $0,001 (1 mill USD)
Registratie en inloggen
zie: Authenticatiesysteem
Verduidelijking van het configuratiebestand
Alle authenticatie-instellingen in dit gedeelte moeten worden geconfigureerd in uw .env bestand, niet in het librechat.yaml bestand of docker-compose.override.yml. Het docker-compose.override.yml bestand wordt alleen gebruikt om volumes te koppelen en omgevingsvariabelen in te stellen voor Docker, terwijl het librechat.yaml bestand wordt gebruikt voor aangepaste endpoints en andere applicatie-instellingen.
- Algemene instellingen:
| Key | Type | Description | Example |
|---|---|---|---|
| ALLOW_EMAIL_LOGIN | boolean | Schakel ALLEEN e-mail login in of uit. | ALLOW_EMAIL_LOGIN=true |
| ALLOW_REGISTRATION | boolean | Schakel e-mailregistratie voor nieuwe gebruikers in of uit. | ALLOW_REGISTRATION=true |
| ALLOW_SOCIAL_LOGIN | boolean | Sta gebruikers toe om verbinding te maken met LibreChat via verschillende sociale netwerken. | ALLOW_SOCIAL_LOGIN=false |
| ALLOW_SOCIAL_REGISTRATION | boolean | Schakel registratie van nieuwe gebruikers via verschillende sociale netwerken in of uit. | ALLOW_SOCIAL_REGISTRATION=false |
| ALLOW_PASSWORD_RESET | boolean | Schakel de mogelijkheid voor gebruikers in of uit om hun wachtwoord zelf opnieuw in te stellen | ALLOW_PASSWORD_RESET=false |
| ALLOW_ACCOUNT_DELETION | boolean | Schakel de mogelijkheid voor gebruikers om hun account zelf te verwijderen in of uit. Standaard ingeschakeld indien weggelaten/uitgecommentarieerd | ALLOW_ACCOUNT_DELETION=true |
| ALLOW_UNVERIFIED_EMAIL_LOGIN | boolean | Stel in op true om gebruikers toe te staan in te loggen zonder hun e-mailadres te verifiëren. Indien ingesteld op false, moeten gebruikers hun e-mail verifiëren voordat ze kunnen inloggen. | ALLOW_UNVERIFIED_EMAIL_LOGIN=true |
| MIN_PASSWORD_LENGTH | number | Minimale wachtwoordlengte voor gebruikersauthenticatie. Bij gebruik van LDAP-authenticatie kun je dit instellen op 1 om lokale wachtwoordvalidatie te omzeilen, aangezien LDAP-servers hun eigen wachtwoordbeleid beheren. | MIN_PASSWORD_LENGTH=8 |
Snelle tip: Zelfs als registratie is uitgeschakeld, kun je gebruikers direct aan de database toevoegen met
npm run create-user.
Snelle tip: Als registratie is uitgeschakeld, kun je een gebruiker verwijderen met
npm run delete-user [email protected].
- Instellingen voor sessie- en vernieuwingstokens:
| Key | Type | Description | Example |
|---|---|---|---|
| SESSION_EXPIRY | integer (milliseconds) | Sessie-verlooptijd. | SESSION_EXPIRY=1000 * 60 * 15 |
| REFRESH_TOKEN_EXPIRY | integer (milliseconds) | Verlooptijd van het refresh token. | REFRESH_TOKEN_EXPIRY=(1000 * 60 * 60 * 24) * 7 |
| SESSION_COOKIE_SECURE | boolean | Overschrijft het Secure-attribuut voor sessie/auth-cookies. Laat oningesteld om de standaard NODE_ENV/DOMAIN_SERVER heuristiek te gebruiken. | # SESSION_COOKIE_SECURE=false |
-
Voor meer informatie: Refresh Token
-
JWT-instellingen:
Je moet nieuwe veilige waarden gebruiken. De gegeven voorbeelden zijn 32-byte sleutels (64 tekens in hex). Gebruik deze replit om er snel een paar te genereren: JWT Keys
| Key | Type | Description | Example |
|---|---|---|---|
| JWT_SECRET | string (hex) | JWT geheime sleutel. | JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef |
| JWT_REFRESH_SECRET | string (hex) | JWT refresh secret key. | JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418 |
Sociale logins
Voor meer details: OAuth2-OIDC
Apple-authenticatie
Voor meer informatie: Apple Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| APPLE_CLIENT_ID | string | Uw Apple Services ID (bijv. com.yourdomain.librechat.services). | APPLE_CLIENT_ID=com.yourdomain.librechat.services |
| APPLE_TEAM_ID | string | Uw Apple Developer Team ID. | APPLE_TEAM_ID=YOUR_TEAM_ID |
| APPLE_KEY_ID | string | Je Apple Key ID van de gedownloade sleutel. | APPLE_KEY_ID=YOUR_KEY_ID |
| APPLE_PRIVATE_KEY_PATH | string | Absoluut pad naar je gedownloade .p8-bestand. | APPLE_PRIVATE_KEY_PATH=/path/to/AuthKey.p8 |
| APPLE_CALLBACK_URL | string | De callback-URL voor Apple-authenticatie. | APPLE_CALLBACK_URL=/oauth/apple/callback |
Discord-authenticatie
Voor meer informatie: Discord
| Key | Type | Description | Example |
|---|---|---|---|
| DISCORD_CLIENT_ID | string | Uw Discord client ID. | DISCORD_CLIENT_ID= |
| DISCORD_CLIENT_SECRET | string | Je Discord client secret. | DISCORD_CLIENT_SECRET= |
| DISCORD_CALLBACK_URL | string | De callback-URL voor Discord-authenticatie. | DISCORD_CALLBACK_URL=/oauth/discord/callback |
Facebook-authenticatie
Voor meer informatie: Facebook Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| FACEBOOK_CLIENT_ID | string | Je Facebook client ID. | FACEBOOK_CLIENT_ID= |
| FACEBOOK_CLIENT_SECRET | string | Uw Facebook client secret. | FACEBOOK_CLIENT_SECRET= |
| FACEBOOK_CALLBACK_URL | string | De callback URL voor Facebook-authenticatie. | FACEBOOK_CALLBACK_URL=/oauth/facebook/callback |
GitHub-authenticatie
Voor meer informatie: GitHub Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| GITHUB_CLIENT_ID | string | Uw GitHub client ID. | GITHUB_CLIENT_ID= |
| GITHUB_CLIENT_SECRET | string | Uw GitHub client secret. | GITHUB_CLIENT_SECRET= |
| GITHUB_CALLBACK_URL | string | De callback URL voor GitHub-authenticatie. | GITHUB_CALLBACK_URL=/oauth/github/callback |
| GITHUB_ENTERPRISE_BASE_URL | string | Optioneel: De basis-URL voor uw GitHub Enterprise-instantie. | GITHUB_ENTERPRISE_BASE_URL= |
| GITHUB_ENTERPRISE_USER_AGENT | string | Optioneel: De user agent voor GitHub Enterprise-verzoeken. | GITHUB_ENTERPRISE_USER_AGENT= |
Google-authenticatie
Voor meer informatie: Google Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| GOOGLE_CLIENT_ID | string | Uw Google client ID. | GOOGLE_CLIENT_ID= |
| GOOGLE_CLIENT_SECRET | string | Uw Google client secret. | GOOGLE_CLIENT_SECRET= |
| GOOGLE_CALLBACK_URL | string | De callback-URL voor Google-authenticatie. | GOOGLE_CALLBACK_URL=/oauth/google/callback |
OpenID Connect
Voor meer informatie:
| Key | Type | Description | Example |
|---|---|---|---|
| OPENID_CLIENT_ID | string | Uw OpenID client ID. | OPENID_CLIENT_ID= |
| OPENID_CLIENT_SECRET | string | Uw OpenID client secret. | OPENID_CLIENT_SECRET= |
| OPENID_ISSUER | string | De OpenID issuer URL. | OPENID_ISSUER= |
| OPENID_SESSION_SECRET | string | Het geheim voor OpenID-sessieopslag. | OPENID_SESSION_SECRET= |
| OPENID_SCOPE | string | De OpenID scope. | OPENID_SCOPE="openid profile email" |
| OPENID_CALLBACK_URL | string | De callback URL voor OpenID-authenticatie. | OPENID_CALLBACK_URL=/oauth/openid/callback |
| OPENID_AUDIENCE | string | Audience-waarde voor OpenID JWT-validatie en autorisatieverzoeken. Door komma's gescheiden waarden worden geaccepteerd voor JWT-validatie; autorisatieverzoeken gebruiken de eerste niet-lege waarde. Vereist voor Auth0 bij gebruik van OPENID_REUSE_TOKENS=true om JWT-toegangstokens te ontvangen in plaats van ondoorzichtige tokens. | OPENID_AUDIENCE=https://api.librechat.com |
| OPENID_REQUIRED_ROLE | string | De vereiste rol(len) voor validatie. Ondersteunt een enkele rol of meerdere door komma's gescheiden rollen. Wanneer meerdere rollen zijn opgegeven, heeft de gebruiker EEN van de opgegeven rollen nodig (OF-logica). | OPENID_REQUIRED_ROLE=admin or OPENID_REQUIRED_ROLE=role1,role2,admin |
| OPENID_REQUIRED_ROLE_TOKEN_KIND | string | Het token-type voor vereiste rolvalidatie. | OPENID_REQUIRED_ROLE_TOKEN_KIND= |
| OPENID_REQUIRED_ROLE_PARAMETER_PATH | string | Het parameterpad voor vereiste rolvalidatie. | OPENID_REQUIRED_ROLE_PARAMETER_PATH= |
| OPENID_ADMIN_ROLE | string | De rol die de gebruiker moet hebben om een admin te zijn in LibreChat. | OPENID_ADMIN_ROLE= |
| OPENID_ADMIN_ROLE_TOKEN_KIND | string | De bron van de informatie voor verificatie van de admin-rol. Mogelijke waarden zijn: access, id of userinfo. | OPENID_ADMIN_ROLE_TOKEN_KIND= |
| OPENID_ADMIN_ROLE_PARAMETER_PATH | string | Het parameterpad voor vereiste rolvalidatie. | OPENID_ADMIN_ROLE_PARAMETER_PATH= |
| OPENID_ROLE_SYNC_ENABLED | boolean | Schakel generieke OpenID-rolsynchronisatie in voor niet-beheerdersrollen. ADMIN kan niet worden toegewezen via rolsynchronisatie; gebruik OPENID_ADMIN_ROLE voor beheerdersrechten. | OPENID_ROLE_SYNC_ENABLED=false |
| OPENID_ROLE_SYNC_API_ENABLED | boolean | Schakel API-gebaseerde rol-synchronisatiehelpers in. Vereist OPENID_ROLE_SYNC_ENABLED=true. | OPENID_ROLE_SYNC_API_ENABLED=false |
| OPENID_ROLE_SYNC_SOURCE | string | Tokenbron voor de role claim. Moet een van de volgende zijn: access, id, userinfo. Standaard: id. | OPENID_ROLE_SYNC_SOURCE=id |
| OPENID_ROLE_SYNC_CLAIM | string | Claim-pad dat de provider-rollen of -groepen bevat. Vereist wanneer role sync is ingeschakeld. | OPENID_ROLE_SYNC_CLAIM= |
| OPENID_ROLE_SYNC_ROLE_PRIORITY | string | Door komma's gescheiden LibreChat-rollen, gerangschikt van meest naar minst belangrijk. De eerste overeenkomende rol wordt toegewezen. | OPENID_ROLE_SYNC_ROLE_PRIORITY=Support,User |
| OPENID_ROLE_SYNC_FALLBACK_ROLE | string | LibreChat-rol toegewezen wanneer geen prioriteitsrol overeenkomt. De fallback is autoritatief wanneer geconfigureerd. | OPENID_ROLE_SYNC_FALLBACK_ROLE=USER |
| OPENID_BUTTON_LABEL | string | Het label voor de OpenID-inlogknop. | OPENID_BUTTON_LABEL= |
| OPENID_IMAGE_URL | string | De URL van de afbeelding voor de OpenID-inlogknop. | OPENID_IMAGE_URL= |
| OPENID_USE_END_SESSION_ENDPOINT | string | Of de Issuer End Session Endpoint moet worden gebruikt als een Logout Redirect | OPENID_USE_END_SESSION_ENDPOINT=TRUE |
| OPENID_MAX_LOGOUT_URL_LENGTH | number | Maximale lengte van de afmeld-URL voordat logout_hint wordt gebruikt in plaats van id_token_hint. Standaard: 2000. | # OPENID_MAX_LOGOUT_URL_LENGTH=2000 |
| OPENID_AUTO_REDIRECT | boolean | Of er automatisch moet worden omgeleid naar de OpenID-provider. | OPENID_AUTO_REDIRECT=true |
| OPENID_USE_PKCE | boolean | Gebruik PKCE (Proof Key for Code Exchange) voor OpenID-authenticatie. Laat voor publieke clients zonder client secret OPENID_CLIENT_SECRET leeg en zet dit op true. | # OPENID_USE_PKCE=true |
| OPENID_POST_LOGOUT_REDIRECT_URI | string | Redirect URI na OpenID-afmelding. Standaard ingesteld op ${DOMAIN_CLIENT}/login. | # OPENID_POST_LOGOUT_REDIRECT_URI= |
| OPENID_CLOCK_TOLERANCE | number | Kloktolerantie in seconden voor tokenvalidatie. Standaard: 300. | # OPENID_CLOCK_TOLERANCE=300 |
| OPENID_GENERATE_NONCE | boolean | Forceer de OpenID-client om een nonce-parameter te genereren. Vereist door sommige identiteitsproviders zoals AWS Cognito (vooral bij federatie) en Authentik. | OPENID_GENERATE_NONCE=true |
| DEBUG_OPENID_REQUESTS | boolean | Schakel gedetailleerde logging van OpenID-requestheaders in. Wanneer uitgeschakeld (standaard), worden alleen request-URL's gelogd op debug-niveau. Wanneer ingeschakeld, worden ook requestheaders gelogd (met gevoelige gegevens gemaskeerd) voor diepere debugging van authenticatieproblemen. | DEBUG_OPENID_REQUESTS=false |
| OPENID_USERNAME_CLAIM | string | De user info-eigenschap van de OpenID-provider om op te slaan als de gebruikersnaam van de gebruiker. | OPENID_USERNAME_CLAIM= |
| OPENID_NAME_CLAIM | string | De user info eigenschap van de OpenID provider om op te slaan als de weergavenaam van de gebruiker. | OPENID_NAME_CLAIM= |
| OPENID_EMAIL_CLAIM | string | De user info claim die moet worden gebruikt als e-mail/identificatie voor gebruikerskoppeling (bijv. "upn" voor Entra ID). Indien niet ingesteld, wordt standaard gebruikt: email → preferred_username → upn. | OPENID_EMAIL_CLAIM= |
OpenID-rolsynchronisatie
OPENID_ROLE_SYNC_CLAIM is vereist wanneer rol-synchronisatie is ingeschakeld.
OPENID_ROLE_SYNC_API_ENABLED=true vereist ook OPENID_ROLE_SYNC_ENABLED=true. Algemene rol-synchronisatie kan geen ADMIN toewijzen; gebruik OPENID_ADMIN_ROLE voor admin-verhoging.
Hergebruik van OpenID Connect-tokens
LibreChat ondersteunt het hergebruik van access en refresh tokens die zijn uitgegeven door uw OpenID Connect-provider (zoals Azure Entra ID of Auth0) om de authenticatiestatus van gebruikers te beheren. Wanneer deze functie actief is, wordt de refresh token die als cookie naar de gebruiker wordt verzonden, uitgegeven door uw OpenID-provider in plaats van door LibreChat.
| Key | Type | Description | Example |
|---|---|---|---|
| OPENID_REUSE_TOKENS | boolean | Schakel hergebruik van OpenID-provider-tokens in voor sessiebeheer. | OPENID_REUSE_TOKENS=false |
| OPENID_SCOPE | string | Door spaties gescheiden lijst van OpenID-scopes. Moet offline_access bevatten voor tokenhergebruik. | OPENID_SCOPE=api://librechat/.default openid profile email offline_access |
| OPENID_AUDIENCE | string | Audience-waarde voor OpenID JWT-validatie en autorisatieverzoeken. Door komma's gescheiden waarden worden geaccepteerd voor JWT-validatie; autorisatieverzoeken gebruiken de eerste niet-lege waarde. Vereist voor Auth0 wanneer OPENID_REUSE_TOKENS=true. Zie de opmerking in het hoofdgedeelte over OpenID hierboven. | OPENID_AUDIENCE=https://api.librechat.com |
| OPENID_REUSE_MAX_SESSION_AGE_MS | number | Maximale leeftijd van een hergebruikt OpenID-sessietoken voordat LibreChat een IdP-verversing afdwingt. Standaard: 900000 ms / 15 minuten. | OPENID_REUSE_MAX_SESSION_AGE_MS=900000 |
| OPENID_JWKS_URL_CACHE_ENABLED | boolean | Schakel caching van verificatieresultaten van de ondertekeningssleutel in. | OPENID_JWKS_URL_CACHE_ENABLED=true |
| OPENID_JWKS_URL_CACHE_TIME | number | Cacheduur in milliseconden (standaard: 600000 ms / 10 minuten). | OPENID_JWKS_URL_CACHE_TIME=600000 |
| OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED | boolean | Schakel on-behalf-of flow in voor gebruikersinformatie. | OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED=true |
| OPENID_ON_BEHALF_FLOW_USERINFO_SCOPE | string | Scope voor gebruikersinformatie in on-behalf-of flow. | OPENID_ON_BEHALF_FLOW_USERINFO_SCOPE=user.read |
| OPENID_USE_END_SESSION_ENDPOINT | boolean | Schakel het gebruik van het end session endpoint in om uit te loggen. | OPENID_USE_END_SESSION_ENDPOINT=true |
| OPENID_MAX_LOGOUT_URL_LENGTH | number | Maximale lengte van de logout-URL in tekens voordat wordt overgeschakeld naar logout_hint. Handig om 'URI too long'-fouten te voorkomen wanneer id_token_hint de serverlimieten overschrijdt. Standaard: 2000. | OPENID_MAX_LOGOUT_URL_LENGTH=2000 |
OPENID_REUSE_MAX_SESSION_AGE_MS accepteert rekenkundige expressies zoals SESSION_EXPIRY. Verhoog deze waarde richting de levensduur van het IdP access-token wanneer uw provider het vorige access-token intrekt bij een verversing, zodat downstream-consumenten zoals MCP servers het gebruik van een nog geldig bearer-token kunnen voltooien.
Let op
Voor gedetailleerde configuratiestappen en vereisten, zie Re-use OpenID Tokens for Login Session.
Microsoft Graph API / Entra ID-integratie
Wanneer je Azure Entra ID (voorheen Azure AD) gebruikt als je OpenID-provider, kun je extra Microsoft Graph API-functies inschakelen voor verbeterde zoekmogelijkheden voor personen en groepen binnen het systeem voor rechten en delen.
| Key | Type | Description | Example |
|---|---|---|---|
| USE_ENTRA_ID_FOR_PEOPLE_SEARCH | boolean | Schakel Entra ID-personenzoekintegratie in het machtigingen-/delingssysteem in. Wanneer ingeschakeld, zal de personenkiezer zowel de lokale database als Entra ID doorzoeken. | USE_ENTRA_ID_FOR_PEOPLE_SEARCH=false |
| ENTRA_ID_INCLUDE_OWNERS_AS_MEMBERS | boolean | Wanneer ingeschakeld, worden Entra ID-groepseigenaren beschouwd als leden van de groep. | ENTRA_ID_INCLUDE_OWNERS_AS_MEMBERS=false |
| OPENID_GRAPH_SCOPES | string | Microsoft Graph API-scopes vereist voor het zoeken naar personen/groepen. Standaard scopes bieden toegang tot gebruikersprofielen en groepslidmaatschappen. | OPENID_GRAPH_SCOPES=User.Read,People.Read,GroupMember.Read.All,User.ReadBasic.All |
Belangrijke vereisten
- Je moet Azure Entra ID geconfigureerd hebben als je OpenID-provider - OpenID token reuse MOET
ingeschakeld zijn (
OPENID_REUSE_TOKENS=true) - deze functie werkt niet zonder - Je Azure app registratie moet beschikken over de juiste Microsoft Graph API-rechten - Voor de groepzoekfunctionaliteit kan beheerdersinstemming vereist zijn voor bepaalde Graph API-scopes
SharePoint-integratie
LibreChat ondersteunt directe integratie met SharePoint Online en OneDrive for Business, waardoor gebruikers bestanden uit hun SharePoint-bibliotheken rechtstreeks in gesprekken kunnen selecteren en bijvoegen. Deze enterprise-functie maakt gebruik van de bestaande Azure Entra ID-authenticatie.
| Key | Type | Description | Example |
|---|---|---|---|
| ENABLE_SHAREPOINT_FILEPICKER | boolean | Schakel de SharePoint-bestandsverkenner in voor chat- en agentpanelen. Indien ingeschakeld, wordt de optie "Van SharePoint" toegevoegd aan het menu voor bestandsbijlagen. | ENABLE_SHAREPOINT_FILEPICKER=true |
| SHAREPOINT_BASE_URL | string | SharePoint tenant basis-URL. Vereist wanneer SharePoint-integratie is ingeschakeld. | SHAREPOINT_BASE_URL=https://yourtenant.sharepoint.com |
| SHAREPOINT_PICKER_SHAREPOINT_SCOPE | string | SharePoint-specifieke OAuth-scope voor de bestandskiezer. Wordt gebruikt voor authenticatie bij het openen van de SharePoint-bestandskiezerinterface. | SHAREPOINT_PICKER_SHAREPOINT_SCOPE=https://yourtenant.sharepoint.com/AllSites.Read |
| SHAREPOINT_PICKER_GRAPH_SCOPE | string | Microsoft Graph API-scope voor het downloaden van bestanden. Wordt gebruikt voor het downloaden van bestanden van SharePoint na selectie. | SHAREPOINT_PICKER_GRAPH_SCOPE=Files.Read.All |
Kritieke vereisten
Al het volgende moet geconfigureerd zijn om de SharePoint-integratie te laten werken:
- Azure Entra ID-authenticatie moet volledig geconfigureerd zijn
OPENID_REUSE_TOKENS=trueis verplicht (gebruikt de on-behalf-of token flow)OPENID_SCOPEmoet de API-scope van je LibreChat-app bevatten, bijvoorbeeldapi://<client-id>/access_as_userOPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED=trueis vereist bij het gebruik van die app-audience scope met Azure Entra ID- Uw Azure-appregistratie moet beschikken over SharePoint- en Graph API-machtigingen
- Uw Azure-appregistratie moet het LibreChat API-bereik blootstellen dat wordt gebruikt in
OPENID_SCOPE - Alle vier de SharePoint omgevingsvariabelen moeten worden ingesteld
- HTTPS is vereist in productieomgevingen
Functiemogelijkheden
Wanneer ingeschakeld, kunnen gebruikers: - Bestanden openen vanuit SharePoint-documentbibliotheken en OneDrive for Business - Meerdere bestanden tegelijk selecteren (standaard max: 10 bestanden) - Real-time downloadvoortgang zien
- Bestanden worden gedownload en aan het gesprek toegevoegd zoals normale uploads
Voor gedetailleerde instructies over de SharePoint-configuratie, zie: SharePoint Integration Guide
SAML
Voor meer informatie:
Wederzijdse uitsluiting van OpenID en SAML
Als OpenID is ingeschakeld, wordt SAML-authenticatie automatisch uitgeschakeld.
Er kan slechts één authenticatiemethode tegelijk actief zijn.
| Key | Type | Description | Example |
|---|---|---|---|
| SAML_ENTRY_POINT | string | De URL van het toegangspunt van de SAML-identiteitsprovider (IdP). | SAML_ENTRY_POINT= |
| SAML_ISSUER | string | De SAML service provider (SP) entity ID. | SAML_ISSUER= |
| SAML_CERT | string | Het SAML-ondertekeningscertificaat, verstrekt als bestandspad of een PEM-string van één regel. | SAML_CERT= |
| SAML_CALLBACK_URL | string | De callback-URL voor SAML-authenticatie. | SAML_CALLBACK_URL=/oauth/saml/callback |
| SAML_SESSION_SECRET | string | Het geheim voor SAML-sessieopslag. | SAML_SESSION_SECRET= |
| SAML_EMAIL_CLAIM | string | <Optional>: Het attribuut in de SAML-assertie dat het e-mailadres van de gebruiker bevat. (standaard: email) | SAML_EMAIL_CLAIM= |
| SAML_USERNAME_CLAIM | string | <Optional>: Het attribuut in de SAML-assertie dat de gebruikersnaam bevat. (standaard: username) | SAML_USERNAME_CLAIM= |
| SAML_GIVEN_NAME_CLAIM | string | <Optional>: Het attribuut in de SAML-assertie dat de voornaam bevat. (standaard: given_name) | SAML_GIVEN_NAME_CLAIM= |
| SAML_FAMILY_NAME_CLAIM | string | <Optional>: Het attribuut in de SAML-assertie dat de achternaam bevat. (standaard: family_name) | SAML_FAMILY_NAME_CLAIM= |
| SAML_PICTURE_CLAIM | string | <Optional>: Het attribuut in de SAML-assertie dat de URL van de profielfoto bevat. (standaard: picture) | SAML_PICTURE_CLAIM= |
| SAML_NAME_CLAIM | string | <Optional>: Het attribuut in de SAML-assertie dat de volledige naam bevat. | SAML_NAME_CLAIM= |
| SAML_BUTTON_LABEL | string | <Optional>: Het label voor de SAML-inlogknop. | SAML_BUTTON_LABEL= |
| SAML_IMAGE_URL | string | <Optional>: De URL van de afbeelding voor de SAML-inlogknop. | SAML_IMAGE_URL= |
| SAML_USE_AUTHN_RESPONSE_SIGNED | boolean | <Optional>: Indien "true", wordt de volledige SAML Response ondertekend. Anders wordt alleen de Assertion ondertekend (standaard). | SAML_USE_AUTHN_RESPONSE_SIGNED= |
LDAP/AD-authenticatie
Voor meer informatie: LDAP/AD Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| LDAP_URL | string | LDAP-server-URL. | LDAP_URL=ldap://localhost:389 |
| LDAP_BIND_DN | string | Bind DN | LDAP_BIND_DN=cn=root |
| LDAP_BIND_CREDENTIALS | string | Wachtwoord voor bindDN | LDAP_BIND_CREDENTIALS=password |
| LDAP_USER_SEARCH_BASE | string | LDAP-gebruikerszoekbasis | LDAP_USER_SEARCH_BASE=o=users,o=example.com |
| LDAP_SEARCH_FILTER | string | LDAP-zoekfilter | LDAP_SEARCH_FILTER=mail={{username}} |
| LDAP_CA_CERT_PATH | string | Pad naar CA-certificaat. | LDAP_CA_CERT_PATH=/path/to/root_ca_cert.crt |
| LDAP_TLS_REJECT_UNAUTHORIZED | string | LDAP TLS-verificatie | LDAP_TLS_REJECT_UNAUTHORIZED=true |
| LDAP_STARTTLS | string | Schakel LDAP StartTLS in om de verbinding te upgraden naar TLS. Zet op true om deze functie in te schakelen. | LDAP_STARTTLS=true |
| LDAP_LOGIN_USES_USERNAME | boolean | Gebruik gebruikersnaam in plaats van e-mail voor LDAP-login. | # LDAP_LOGIN_USES_USERNAME=true |
| LDAP_ID | string | LDAP-attribuut voor unieke gebruikers-ID. Standaard: uid of sAMAccountName, mail. | # LDAP_ID=uid |
| LDAP_USERNAME | string | LDAP-attribuut voor gebruikersnaam. Standaard: givenName of mail. | # LDAP_USERNAME=givenName |
| LDAP_EMAIL | string | LDAP-attribuut voor e-mail. Standaard: mail. | # LDAP_EMAIL=userPrincipalName |
| LDAP_FULL_NAME | string | LDAP-kenmerk(en) voor volledige naam. Kan door komma's worden gescheiden. Standaard: givenName + surname. | # LDAP_FULL_NAME=givenName,surname |
Wachtwoord opnieuw instellen
E-mail wordt gebruikt voor accountverificatie en het opnieuw instellen van wachtwoorden. LibreChat ondersteunt zowel de Mailgun API als traditionele SMTP-diensten. Zie: E-mail instellen
Belangrijke opmerking: Je moet ofwel Mailgun (aanbevolen voor servers die SMTP blokkeren) of SMTP configureren om e-mail te laten werken.
Waarschuwing: Het niet instellen van geldige waarden voor Mailgun of SMTP zal ertoe leiden dat LibreChat de onbeveiligde wachtwoordreset gebruikt!
Mailgun-configuratie (Aanbevolen)
Mailgun is bijzonder nuttig voor implementaties op servers die SMTP-poorten blokkeren. Wanneer zowel MAILGUN_API_KEY als MAILGUN_DOMAIN zijn ingesteld, zal LibreChat Mailgun gebruiken in plaats van SMTP.
| Key | Type | Description | Example |
|---|---|---|---|
| MAILGUN_API_KEY | string | Uw Mailgun API-sleutel (vereist voor Mailgun). | MAILGUN_API_KEY= |
| MAILGUN_DOMAIN | string | Uw Mailgun-domein (vereist voor Mailgun). | MAILGUN_DOMAIN=mg.yourdomain.com |
| MAILGUN_HOST | string | Aangepaste Mailgun API-host (optioneel). Gebruik https://api.eu.mailgun.net voor de EU-regio. | MAILGUN_HOST=https://api.mailgun.net |
| EMAIL_FROM | string | E-mailadres van afzender. Verplicht. | [email protected] |
| EMAIL_FROM_NAME | string | Van-naam (standaard ingesteld op APP_TITLE indien niet opgegeven). | EMAIL_FROM_NAME= |
SMTP-configuratie
Als Mailgun niet is geconfigureerd, zal LibreChat terugvallen op SMTP-instellingen.
Waarschuwing: Als je
EMAIL_SERVICEgebruikt, stel dan NIET de uitgebreide verbindingsparameters in: HOST, PORT, ENCRYPTION, ENCRYPTION_HOSTNAME, ALLOW_SELFSIGNED.
Zie: nodemailer well-known-services
| Key | Type | Description | Example |
|---|---|---|---|
| EMAIL_SERVICE | string | E-mailservice (bijv. Gmail, Outlook). | EMAIL_SERVICE= |
| EMAIL_HOST | string | Mailserver-host. | EMAIL_HOST= |
| EMAIL_PORT | number | Mailserver-poort. | EMAIL_PORT=25 |
| EMAIL_ENCRYPTION | string | Versleutelingsmethode (starttls, tls, enz.). | EMAIL_ENCRYPTION= |
| EMAIL_ENCRYPTION_HOSTNAME | string | Hostnaam voor encryptie. | EMAIL_ENCRYPTION_HOSTNAME= |
| EMAIL_ALLOW_SELFSIGNED | boolean | Sta zelfondertekende certificaten toe. | EMAIL_ALLOW_SELFSIGNED= |
| EMAIL_USERNAME | string | Gebruikersnaam voor authenticatie. | EMAIL_USERNAME= |
| EMAIL_PASSWORD | string | Wachtwoord voor authenticatie. | EMAIL_PASSWORD= |
| EMAIL_FROM_NAME | string | Van naam | EMAIL_FROM_NAME= |
| EMAIL_FROM | string | E-mailadres van afzender. Verplicht. | [email protected] |
Firebase CDN
Zie: Firebase CDN Configuration
Belangrijk
- Als je Firebase gebruikt als je strategie voor bestandsopslag, stel dan
fileStrategyoffileStrategiesin opfirebasein jelibrechat.yamlconfiguratiebestand. Voor meer informatie over het configureren van hetlibrechat.yamlbestand, raadpleeg de YAML Configuratiegids: Custom Endpoints & Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| FIREBASE_API_KEY | string | De API-sleutel voor uw Firebase-project. | FIREBASE_API_KEY= |
| FIREBASE_AUTH_DOMAIN | string | Het Firebase Auth-domein voor je project. | FIREBASE_AUTH_DOMAIN= |
| FIREBASE_PROJECT_ID | string | De ID van je Firebase-project. | FIREBASE_PROJECT_ID= |
| FIREBASE_STORAGE_BUCKET | string | De Firebase Storage bucket voor je project. | FIREBASE_STORAGE_BUCKET= |
| FIREBASE_MESSAGING_SENDER_ID | string | De Firebase Cloud Messaging sender ID. | FIREBASE_MESSAGING_SENDER_ID= |
| FIREBASE_APP_ID | string | De Firebase App ID voor uw project. | FIREBASE_APP_ID= |
Amazon S3 en CloudFront
Zie: Amazon S3 Configuratie en CloudFront met S3
Belangrijk
Als je S3 gebruikt als je strategie voor bestandsopslag, stel dan fileStrategy of fileStrategies in in je librechat.yaml configuratiebestand. Als je CloudFront gebruikt, is S3 nog steeds vereist als de opslag-origin.
| Key | Type | Description | Example |
|---|---|---|---|
| AWS_ACCESS_KEY_ID | string | Uw IAM-gebruikerstoegangssleutel-ID. Optioneel bij gebruik van IRSA. | AWS_ACCESS_KEY_ID=your_access_key_id |
| AWS_SECRET_ACCESS_KEY | string | Uw IAM-gebruikersgeheime toegangssleutel. Optioneel bij gebruik van IRSA. | AWS_SECRET_ACCESS_KEY=your_secret_access_key |
| AWS_REGION | string | De AWS-regio waar uw S3-bucket zich bevindt. | AWS_REGION=us-east-1 |
| AWS_BUCKET_NAME | string | De naam van de S3-bucket voor bestandsopslag. | AWS_BUCKET_NAME=your_bucket_name |
| AWS_ENDPOINT_URL | string | Aangepaste AWS endpoint URL (optioneel). Voor S3-compatibele services. Voeg het URL-schema toe, zoals https://a7g8.da.idrivee2-32.com. | # AWS_ENDPOINT_URL=https://your_endpoint_url |
| AWS_FORCE_PATH_STYLE | boolean | Stel in op true voor S3-compatibele providers die path-style URL's vereisen (bijv. MinIO, Hetzner, Backblaze B2). Niet nodig voor AWS S3. Standaard: false. | # AWS_FORCE_PATH_STYLE=false |
| CLOUDFRONT_KEY_PAIR_ID | string | CloudFront public key pair ID. Vereist voor ondertekende cookies en ondertekende CloudFront download-URL's. | # CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC |
| CLOUDFRONT_PRIVATE_KEY | string | CloudFront private key PEM. Vereist voor ondertekende cookies en ondertekende CloudFront download-URL's. Behoud PEM-nieuwe regels bij het injecteren van dit geheim. | # CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" |
Let op: Voor Kubernetes-implementaties (bijv. op EKS) kun je IRSA (IAM Roles for Service Accounts) gebruiken in plaats van expliciete inloggegevens op te geven. In dat geval zijn alleen
AWS_REGIONenAWS_BUCKET_NAMEvereist.
Azure Blob Storage CDN
Zie: Azure Blob Storage CDN Configuration
Belangrijk
Als je Azure Blob Storage gebruikt als je strategie voor bestandsopslag, stel dan fileStrategy of fileStrategies in op azure_blob in je librechat.yaml configuratiebestand.
| Key | Type | Description | Example |
|---|---|---|---|
| AZURE_STORAGE_CONNECTION_STRING | string | Azure Blob Storage connection string. Gebruik deze OF AZURE_STORAGE_ACCOUNT_NAME voor Managed Identity. | AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=... |
| AZURE_STORAGE_ACCOUNT_NAME | string | Azure Storage-accountnaam. Gebruik voor Managed Identity-authenticatie (stel geen connection string in). | # AZURE_STORAGE_ACCOUNT_NAME=yourAccountName |
| AZURE_STORAGE_PUBLIC_ACCESS | boolean | Schakel openbare toegang voor blobs in. Standaard: false. | AZURE_STORAGE_PUBLIC_ACCESS=false |
| AZURE_CONTAINER_NAME | string | Containernaam voor bestandsopslag. Standaard: files. | AZURE_CONTAINER_NAME=files |
Let op: Gebruik ofwel
AZURE_STORAGE_CONNECTION_STRING(Optie A) ofAZURE_STORAGE_ACCOUNT_NAMEmet Managed Identity (Optie B), niet beide.
UI
Help en FAQ-knop
| Key | Type | Description | Example |
|---|---|---|---|
| HELP_AND_FAQ_URL | string | Help en FAQ URL. Indien leeg of becommentarieerd, is de knop ingeschakeld. Om de Help en FAQ-knop uit te schakelen, stel deze in op "/". | HELP_AND_FAQ_URL=https://librechat.ai |
Gedrag:
Stelt de Cache-Control headers in voor statische bestanden. Deze configuraties worden alleen geactiveerd wanneer de NODE_ENV is ingesteld op production.
Het correct instellen van cache-headers is cruciaal voor het optimaliseren van de prestaties en efficiëntie van je webapplicatie. Door te bepalen hoe lang browsers en CDN's kopieën van je statische bestanden opslaan, kun je de serverbelasting aanzienlijk verminderen, de laadtijden van pagina's verkorten en de algehele gebruikerservaring verbeteren.
- Haal het commentaar weg bij
STATIC_CACHE_MAX_AGEom demax-agevoor statische bestanden te wijzigen. Standaard is dit ingesteld op 4 weken. - Haal
STATIC_CACHE_S_MAX_AGEuit het commentaar om des-maxagevoor statische bestanden te wijzigen. Standaard is dit ingesteld op 1 week.- Dit is voor de shared cache, die wordt gebruikt door CDN's en proxy's.
App-titel en voettekst
| Key | Type | Description | Example |
|---|---|---|---|
| APP_TITLE | string | App-titel. | APP_TITLE=LibreChat |
| CUSTOM_FOOTER | string | Aangepaste voettekst. | # CUSTOM_FOOTER="My custom footer" |
| TEMP_CHAT_RETENTION_HOURS | number | **Verouderd:** Gebruik in plaats daarvan `interface.temporaryChatRetention` in librechat.yaml. Aantal uren om tijdelijke chats te bewaren. Standaard: 720 (30 dagen). | # TEMP_CHAT_RETENTION_HOURS=168 |
Gedrag:
- Haal het commentaar weg bij
CUSTOM_FOOTERom een aangepaste voettekst toe te voegen. - Haal
CUSTOM_FOOTERuit het commentaar en laat het leeg om de voettekst te verwijderen. - Je kunt nu een of meer links toevoegen in de CUSTOM_FOOTER waarde met het volgende formaat:
[Anchor text](URL). Elke link moet worden gescheiden door een pipe (|).
Markdown voorbeeld:
CUSTOM_FOOTER=[Link 1](http://example1.com) | [Link 2](http://example2.com)
Verjaardagshoed
| Key | Type | Description | Example |
|---|---|---|---|
| SHOW_BIRTHDAY_ICON | boolean | Toon het verjaardagshoed-icoon. | # SHOW_BIRTHDAY_ICON=true |
Gedrag:
- Het verjaardagshoed-icoon wordt automatisch getoond op 11 februari (de verjaardag van LibreChat).
- Stel
SHOW_BIRTHDAY_ICONin opfalseom het verjaardagsmutsje uit te schakelen. - Stel
SHOW_BIRTHDAY_ICONin optrueom het verjaardagsmutsje altijd in te schakelen.
Analytics
Google Tag Manager
LibreChat ondersteunt Google Tag Manager voor analytics. Je hebt een Google Tag Manager-ID nodig om dit in LibreChat in te schakelen. Volg deze handleiding om een Google Tag Manager-ID te genereren en Google Analytics te configureren. Stel vervolgens de ANALYTICS_GTM_ID omgevingsvariabele in op jouw Google Tag Manager-ID.
Let op: Als ANALYTICS_GTM_ID niet is ingesteld, zal Google Tag Manager niet worden ingeschakeld. Als deze onjuist is ingesteld, zul je mislukte verzoeken naar gtm.js zien.
| Key | Type | Description | Example |
|---|---|---|---|
| ANALYTICS_GTM_ID | string | Google Tag Manager ID. | ANALYTICS_GTM_ID= |
Gesprek importeren
Configureer limieten voor het importeren van gespreksbestanden om geheugenproblemen te voorkomen.
| Key | Type | Description | Example |
|---|---|---|---|
| CONVERSATION_IMPORT_MAX_FILE_SIZE_BYTES | number | Maximale bestandsgrootte in bytes voor het importeren van gesprekken. Standaard: 0 (geen limiet). Voorbeeld: 262144000 (250 MiB). | # CONVERSATION_IMPORT_MAX_FILE_SIZE_BYTES=262144000 |
Inline bestandsvoorbeelden
Bepaal hoe groot gegenereerde bestanden mogen zijn voordat LibreChat de extractie van inline previews overslaat en ze alleen beschikbaar stelt om te downloaden.
| Key | Type | Description | Example |
|---|---|---|---|
| FILE_PREVIEW_MAX_EXTRACT_BYTES | number | Maximale bronbestandsgrootte in bytes voor inline voorbeelden van code-execution artefacten. Standaard: 2097152 (2 MiB). Gerenderde HTML-voorbeelden hebben nog steeds een aparte limiet, dus zeer uitgebreide bestanden kunnen het voorbeeld overslaan, zelfs onder deze waarde. | # FILE_PREVIEW_MAX_EXTRACT_BYTES=2097152 |
MCP (Model Context Protocol)
Configureer MCP-instellingen voor verbeterd serverbeheer en OAuth-ondersteuning.
MCP Server Configuratie
| Key | Type | Description | Example |
|---|---|---|---|
| MCP_OAUTH_ON_AUTH_ERROR | boolean | Behandel 401/403-antwoorden als OAuth-vereiste wanneer er geen OAuth-metadata is gevonden. | MCP_OAUTH_ON_AUTH_ERROR=true |
| MCP_OAUTH_DETECTION_TIMEOUT | number | Time-out voor OAuth-detectieverzoeken in milliseconden. | MCP_OAUTH_DETECTION_TIMEOUT=5000 |
| MCP_OAUTH_HANDLING_TIMEOUT | number | Hoe lang LibreChat wacht tot een gebruiker een MCP OAuth-flow voltooit voordat er een time-out optreedt. Standaard: 600000 ms (10 minuten). | MCP_OAUTH_HANDLING_TIMEOUT=600000 |
| MCP_OAUTH_FLOW_TTL | number | Hoe lang de MCP OAuth flow-status wordt bewaard. LibreChat klemt dit boven MCP_OAUTH_HANDLING_TIMEOUT zodat callbacks nabij de deadline nog steeds kunnen voltooien. Standaard: 900000 ms (15 minuten). | MCP_OAUTH_FLOW_TTL=900000 |
| MCP_CONNECTION_CHECK_TTL | number | Cache de verbindingsstatuscontroles voor dit aantal milliseconden om dure verificatie te voorkomen. | MCP_CONNECTION_CHECK_TTL=30000 |
| MCP_TOOLS_LIST_MAX_PAGES | number | Maximaal aantal tools/lijstpagina's om op te vragen wanneer een MCP server zijn tool-lijst pagineert (cursor-paginering). Begrenst de pagineringslus zodat een slecht functionerende server het ontdekken van tools niet kan vertragen. Afgekapt op een minimum van 1. Standaard: 50. | MCP_TOOLS_LIST_MAX_PAGES=50 |
| MCP_SKIP_CODE_CHALLENGE_CHECK | boolean | Sla de validatie van de code challenge-methode over. Indien ingesteld op true, wordt S256 code challenge afgedwongen, zelfs als dit niet wordt geadverteerd in .well-known/openid-configuration | MCP_SKIP_CODE_CHALLENGE_CHECK=false |
| MCP_STREAMABLE_HTTP_MAX_RESPONSE_BYTES | number | Maximaal toegestane bytes in een niet-GET streamable HTTP MCP-antwoord voordat dit wordt geweigerd. Stel in op 0 om uit te schakelen. Standaard: 16777216 (16 MiB). | # MCP_STREAMABLE_HTTP_MAX_RESPONSE_BYTES=16777216 |
| MCP_STREAMABLE_HTTP_MAX_LINE_BYTES | number | Maximaal aantal bytes toegestaan in één SSE-regel voor niet-GET streamable HTTP MCP-antwoorden. Stel in op 0 om uit te schakelen. Standaard: 5242880 (5 MiB). | # MCP_STREAMABLE_HTTP_MAX_LINE_BYTES=5242880 |
Overig
Redis
Redis biedt aanzienlijke prestatieverbeteringen en maakt horizontale schaalbaarheid voor LibreChat mogelijk.
Let op: Redis-ondersteuning is experimenteel en je kunt problemen tegenkomen bij het gebruik ervan.
Belangrijk: Als je Redis gebruikt, moet je de cache legen nadat je instellingen in LibreChat hebt gewijzigd.
Voor gedetailleerde configuratie en voorbeelden, zie: Redis Configuration Guide
| Key | Type | Description | Example |
|---|---|---|---|
| USE_REDIS | boolean | Schakel Redis in voor caching en sessieopslag. Indien true, moet REDIS_URI worden opgegeven. | USE_REDIS=true |
| USE_REDIS_STREAMS | boolean | Schakel Redis in voor hervatbare LLM-streams. Standaard wordt de waarde van USE_REDIS gebruikt indien niet ingesteld. Zet op false om in-memory opslag voor streams te gebruiken. | # USE_REDIS_STREAMS=true |
| REDIS_URI | string | Redis-verbindings-URI. Voor een enkele instantie: `redis://host:port`. Voor een cluster: door komma's gescheiden URI's. | REDIS_URI=redis://127.0.0.1:6379 |
| USE_REDIS_CLUSTER | boolean | Schakel Redis-clustermodus in bij gebruik van een enkele URI | # USE_REDIS_CLUSTER="true" |
| REDIS_CLUSTER_SAFE_DELETE | boolean | Verwijder Redis-cache-keys afzonderlijk om CROSSSLOT-fouten te voorkomen op managed Redis-services met één endpoint die keys intern sharden. | # REDIS_CLUSTER_SAFE_DELETE=true |
| REDIS_USERNAME | string | Redis-gebruikersnaam voor authenticatie. Overschrijft de gebruikersnaam in de URI indien beide zijn opgegeven. | # REDIS_USERNAME=your_redis_username |
| REDIS_PASSWORD | string | Redis-wachtwoord voor authenticatie. Overschrijft het wachtwoord in de URI als beide zijn opgegeven. | # REDIS_PASSWORD=your_redis_password |
| REDIS_CA | string | Pad naar CA-certificaat voor TLS-verificatie bij gebruik van het rediss:// protocol. | # REDIS_CA=/path/to/ca-cert.pem |
| REDIS_KEY_PREFIX | string | Statisch voorvoegsel voor alle Redis-sleutels om kruisbesmetting tussen implementaties te voorkomen. | # REDIS_KEY_PREFIX=librechat-prod-v2 |
| REDIS_KEY_PREFIX_VAR | string | Omgevingsvariabele met dynamisch voorvoegsel (bijv. K_REVISION voor Cloud Run). Kan niet worden gebruikt met REDIS_KEY_PREFIX. | # REDIS_KEY_PREFIX_VAR=K_REVISION |
| REDIS_MAX_LISTENERS | number | Maximaal aantal event listeners per Redis client. Voorkomt geheugenlekken. Standaard: 40. | # REDIS_MAX_LISTENERS=40 |
| REDIS_PING_INTERVAL | number | Ping-interval in seconden om verbindingen in stand te houden. Standaard: 0 (uitgeschakeld). Alleen instellen bij time-outs. | # REDIS_PING_INTERVAL=300 |
| FORCED_IN_MEMORY_CACHE_NAMESPACES | string | Door komma's gescheiden cache-sleutels om in-memory opslag af te dwingen, zelfs wanneer Redis is ingeschakeld. | # FORCED_IN_MEMORY_CACHE_NAMESPACES=ROLES,MESSAGES |
| REDIS_USE_ALTERNATIVE_DNS_LOOKUP | boolean | Schakel alternatieve dnsLookup in voor TLS-verbindingen met AWS Elasticache. Vereist voor Elasticache-clusters met TLS. | # REDIS_USE_ALTERNATIVE_DNS_LOOKUP=true |
Opmerkingen:
- Wanneer
USE_REDIS=trueis ingesteld, moet jeREDIS_URIopgeven, anders zal de applicatie een foutmelding geven. - Voor Redis Cluster-modus, geef meerdere URI's op:
redis://node1:7001,redis://node2:7002,redis://node3:7003(cluster-modus wordt automatisch gedetecteerd). - Voor managed Redis-services met één endpoint die keys intern sharden, behoud
USE_REDIS_CLUSTER=falseen stelREDIS_CLUSTER_SAFE_DELETE=truein als cache-clears mislukken metCROSSSLOTfouten. - Gebruik het
rediss://protocol voor TLS-verbindingen en stelREDIS_CAin als uw CA niet publiekelijk wordt vertrouwd. REDIS_KEY_PREFIX_VARenREDIS_KEY_PREFIXsluiten elkaar uit.- AWS Elasticache met TLS: Elasticache moet mogelijk een alternatieve dnsLookup gebruiken voor TLS-verbindingen. Stel
REDIS_USE_ALTERNATIVE_DNS_LOOKUP=truein als je Elasticache met TLS gebruikt. Zie de ioredis documentation voor meer details.
Leader Election
Configureer gedistribueerde leader election voor multi-instance deployments met Redis. Leader election zorgt ervoor dat slechts één instance bepaalde operaties uitvoert, zoals geplande taken.
| Key | Type | Description | Example |
|---|---|---|---|
| LEADER_LEASE_DURATION | number | Duur in seconden dat de leader lease geldig is voordat deze verloopt. Standaard: 25. | LEADER_LEASE_DURATION=25 |
| LEADER_RENEW_INTERVAL | number | Interval in seconden waarna de leider zijn lease vernieuwt. Standaard: 10. | LEADER_RENEW_INTERVAL=10 |
| LEADER_RENEW_ATTEMPTS | number | Maximaal aantal pogingen voor opnieuw proberen wanneer het vernieuwen van de lease mislukt. Standaard: 3. | LEADER_RENEW_ATTEMPTS=3 |
| LEADER_RENEW_RETRY_DELAY | number | Vertraging in seconden tussen pogingen tot opnieuw proberen bij het vernieuwen van de lease. Standaard: 0.5. | LEADER_RENEW_RETRY_DELAY=0.5 |
Opmerkingen:
- Leader election vereist dat Redis is ingeschakeld (
USE_REDIS=true). - Deze instellingen zijn alleen relevant voor implementaties met meerdere instanties.
- De leader lease moet vóór het verstrijken worden vernieuwd om het leiderschap te behouden.
- Als de leaseverlenging na het maximale aantal pogingen mislukt, zal de instantie het leiderschap opgeven.
Hoe is deze gids?