Ortam Değişkenleri
`.env` dosyasını kullanarak uygulamanızın ortamını yapılandırmaya yönelik kapsamlı kılavuz. Bu belge, uygulamanızın farklı bağlamlardaki davranışını şekillendirecek ortam değişkenlerini anlamanız ve özelleştirmeniz için tek durak noktanızdır.
.env dosyası ile uygulamanızın ortamını yapılandırmaya yönelik kapsamlı kılavuza hoş geldiniz. Bu belge, uygulamanızın farklı bağlamlardaki davranışını şekillendirecek ortam değişkenlerini anlamanız ve özelleştirmeniz için tek durak noktanızdır.
Varsayılan ayarlar standart bir docker kurulumu için sağlam bir temel oluştursa da, bu rehberi incelemek LibreChat'in tüm potansiyelini ortaya çıkaracaktır. Bu rehber, LibreChat'i tam ihtiyaçlarınıza göre uyarlamanızı sağlar. Dil modeli kullanılabilirliğini nasıl ayarlayacağınızı, sosyal girişleri nasıl entegre edeceğinizi, otomatik denetleme sistemini nasıl yöneteceğinizi ve çok daha fazlasını keşfedin. Her şey, en iyi kullanıcı deneyimi için LibreChat'e ince ayar yapma kontrolünü size vermekle ilgilidir.
Hatırlatma: Yapılandırma değişikliklerinin geçerli olması için lütfen LibreChat'i yeniden başlatın
Alternatif olarak, LibreChat için ana docker-compose.yml dosyanızla aynı dizinde docker-compose.override.yml adında yeni bir dosya oluşturabilir; burada .env değişkenlerinizi environment altında gerektiği gibi ayarlayabilir veya tüm dosyayı doğrudan düzenlemeye ya da kopyalamaya gerek kalmadan ana docker-compose.yml tarafından sağlanan varsayılan yapılandırmayı değiştirebilirsiniz.
Daha fazla bilgi için bkz:
-
Hızlı rehberimiz:
-
Resmi Docker belgeleri:
-
Ayrıca LibreChat klasörünüzde ve GitHub üzerinde LibreChat için bir geçersiz kılma (override) dosyası örneğini görüntüleyebilirsiniz:
Sunucu Yapılandırması
Port
- Sunucu belirli bir portu dinler.
PORTortam değişkeni, sunucunun dinlediği portu ayarlar. Varsayılan olarak3080olarak ayarlanmıştır.
| Key | Type | Description | Example |
|---|---|---|---|
| HOST | string | Ana bilgisayarı (host) belirtir. | HOST=localhost |
| PORT | number | Portu belirtir. | PORT=3080 |
Trust proxy
Express uygulamasına en fazla n sayıda atlama uzaklığındaki adresi kullanın.
req.socket.remoteAddress ilk atlamadır ve geri kalanlar X-Forwarded-For başlığında sağdan sola doğru aranır.
0 değeri, güvenilmeyen ilk adresin req.socket.remoteAddress olacağı, yani bir reverse proxy olmadığı anlamına gelir.
TRUST_PROXY ortam değişkeninin varsayılan değeri 1 olarak ayarlanmıştır.
Bunun hakkında daha fazla bilgi için Express.js - trust proxy bölümüne bakın.
| Key | Type | Description | Example |
|---|---|---|---|
| TRUST_PROXY | number | Sıçrama sayısını belirtir. | TRUST_PROXY=1 |
Kimlik Bilgileri Yapılandırması
Kimlik bilgilerini güvenli bir şekilde saklamak için sabit bir anahtara ve IV değerine ihtiyacınız vardır. Bunları prod ve dev ortamları için buradan ayarlayabilirsiniz.
| Key | Type | Description | Example |
|---|---|---|---|
| CREDS_KEY | string | Kimlik bilgilerini güvenli bir şekilde saklamak için 32 baytlık anahtar (onaltılık tabanda 64 karakter). Uygulama başlatma için gereklidir. | CREDS_KEY=f34be427ebb29de8d88c107a71546019685ed8b241d8f2ed00c3df97ad2566f0 |
| CREDS_IV | string | Kimlik bilgilerini güvenli bir şekilde saklamak için 16 baytlık IV (onaltılık tabanda 32 karakter). Uygulama başlatma için gereklidir. | CREDS_IV=e2341419ec3dd3d19b13a1a87fafcbfb |
Uyarı
Uyarı: CREDS_KEY ve CREDS_IV değerlerini ayarlamazsanız, uygulama başlatılırken çökecektir. - Bunları hızlıca oluşturmak için bu Anahtar Oluşturucu aracını kullanabilirsiniz.
Statik Dosya İşleme
| Key | Type | Description | Example |
|---|---|---|---|
| STATIC_CACHE_MAX_AGE | string | Saniye cinsinden Cache-Control max-age | STATIC_CACHE_MAX_AGE=172800 |
| STATIC_CACHE_S_MAX_AGE | string | Paylaşımlı önbellekler (CDN'ler ve vekiller) için saniye cinsinden Cache-Control s-maxage | STATIC_CACHE_S_MAX_AGE="86400" |
| DISABLE_COMPRESSION | boolean | Statik dosyalar için sıkıştırmayı devre dışı bırakır. | DISABLE_COMPRESSION=false |
| ENABLE_IMAGE_OUTPUT_GZIP_SCAN | boolean | Aynı klasörde bulunmaları durumunda yüklenen görsellerin gzipped sürümlerinin sunulmasını sağlar. | ENABLE_IMAGE_OUTPUT_GZIP_SCAN=true |
| ENABLE_STATIC_ASSET_BROTLI | boolean | Mevcut olduğunda statik uygulama varlıklarının önceden sıkıştırılmış Brotli sürümlerinin sunulmasını sağlar. | ENABLE_STATIC_ASSET_BROTLI=true |
Davranış:
Statik dosyalar için Cache-Control başlıklarını ayarlar. Bu yapılandırmalar yalnızca NODE_ENV değeri production olarak ayarlandığında tetiklenir.
- Statik dosyalar için yerel
max-agedeğerini değiştirmek üzereSTATIC_CACHE_MAX_AGEsatırının yorum işaretini kaldırın. Bu değer varsayılan olarak 2 gün (172800 saniye) olarak ayarlanmıştır. - Paylaşılan önbellekler (CDN'ler ve vekiller) için
s-maxagedeğerini ayarlamak üzereSTATIC_CACHE_S_MAX_AGEsatırının yorum işaretini kaldırın. Bu değer varsayılan olarak 1 gün (86400 saniye) olarak ayarlanmıştır. - Statik dosyalar için sıkıştırmayı devre dışı bırakmak istiyorsanız
DISABLE_COMPRESSIONsatırının yorum işaretini kaldırın. Varsayılan olarak sıkıştırma etkindir. - Aynı klasörde, aynı isimle ve .gz uzantısıyla önceden sıkıştırılmışlarsa, görsellerin gzipped sürümlerinin taranmasını ve sunulmasını sağlamak için
ENABLE_IMAGE_OUTPUT_GZIP_SCANsatırının yorum işaretini kaldırın. Varsayılan olarak, yüklenen görseller için gzip taraması devre dışıdır. - Varlıkların mevcut olduklarında önceden sıkıştırılmış
.brsürümlerini sunmak içinENABLE_STATIC_ASSET_BROTLIsatırının yorumunu kaldırın. Etkinleştirildiğinde, API tarafından sunulan statik dosyalar için gzip yerine Brotli tercih edilir.
Uyarı
- Bu durum yalnızca API sunucusu tarafından sunulan statik dosyaları etkiler ve Firebase, NGINX veya diğer yapılandırmalar için geçerli değildir.
Index HTML Önbellek Denetimi
| Key | Type | Description | Example |
|---|---|---|---|
| INDEX_CACHE_CONTROL | string | index.html için Cache-Control başlığı | INDEX_CACHE_CONTROL=no-cache, no-store, must-revalidate |
| INDEX_PRAGMA | string | index.html için Pragma başlığı | INDEX_PRAGMA=no-cache |
| INDEX_EXPIRES | string | index.html için Expires başlığı | INDEX_EXPIRES=0 |
Davranış:
Özellikle index.html yanıtı için önbellekleme başlıklarını kontrol eder. Varsayılan olarak bu ayarlar, kullanıcıların her zaman uygulamanın en güncel sürümünü almasını sağlamak için önbelleğe almayı engeller.
Not
Performans için önbelleğe alınan statik varlıkların aksine, index.html dosyasının önbellek başlıkları, kullanıcıların her zaman en güncel uygulama kabuğunu almasını sağlamak için ayrı olarak yapılandırılmıştır.
MongoDB Veritabanı
| Key | Type | Description | Example |
|---|---|---|---|
| MONGO_URI | string | MongoDB URI'sini belirtir. | MONGO_URI=mongodb://127.0.0.1:27017/LibreChat |
Farklıysa bunu MongoDB URI'niz ile değiştirin. URI içerisindeki veritabanı adı olarak LibreChat veya kendi APP_TITLE değerinizi eklemelisiniz.
Çevrimiçi bir veritabanı kullanıyorsanız, URI formatı mongodb+srv://<username>:<password>@<host>/<database>?<options> şeklindedir. MONGO_URI değeriniz şu şekilde görünmelidir:
mongodb+srv://username:[email protected]/LibreChat?retryWrites=true(çevrimiçi veritabanı kullanırken ihtiyacınız olan tek seçenekretryWritesseçeneğidir.)
MongoDB Bağlantı Havuzu Yapılandırması
| Key | Type | Description | Example |
|---|---|---|---|
| MONGO_MAX_POOL_SIZE | number | Bağlantı havuzundaki maksimum bağlantı sayısı. | # MONGO_MAX_POOL_SIZE= |
| MONGO_MIN_POOL_SIZE | number | Bağlantı havuzundaki minimum bağlantı sayısı. | # MONGO_MIN_POOL_SIZE= |
| MONGO_MAX_CONNECTING | number | Bağlantı havuzu tarafından aynı anda kurulma sürecinde olabilecek maksimum bağlantı sayısı. | # MONGO_MAX_CONNECTING= |
| MONGO_MAX_IDLE_TIME_MS | number | Bir bağlantının havuzdan kaldırılıp kapatılmadan önce boşta kalabileceği maksimum milisaniye sayısı. | # MONGO_MAX_IDLE_TIME_MS= |
| MONGO_WAIT_QUEUE_TIMEOUT_MS | number | Bir iş parçacığının bağlantının kullanılabilir hale gelmesi için bekleyebileceği milisaniye cinsinden maksimum süre. | # MONGO_WAIT_QUEUE_TIMEOUT_MS= |
MongoDB Şema Yapılandırması
| Key | Type | Description | Example |
|---|---|---|---|
| MONGO_AUTO_INDEX | boolean | Bu bağlantıyla ilişkili tüm modeller için otomatik dizin oluşturmayı devre dışı bırakmak üzere false olarak ayarlayın. Belirtilmediğinde, Mongoose varsayılan davranışını kullanır. | # MONGO_AUTO_INDEX= |
| MONGO_AUTO_CREATE | boolean | Mongoose'un bu bağlantıda oluşturulan her model üzerinde otomatik olarak createCollection() çağırmasını devre dışı bırakmak için false olarak ayarlayın. Belirtilmediğinde, Mongoose varsayılan davranışı kullanılır. | # MONGO_AUTO_CREATE= |
Alternatif olarak mongoDb'yi taklit eden documentDb kullanabilirsiniz ancak bu:
retryWritesdesteklenmez -retryWrites=falsekullanın- TLS bağlantısı gerektirir, bu nedenle TLS'i etkinleştirmek için
tls=trueparametresini ve AWS tarafından sağlanan CA paket dosyasına işaret etmek içintlsCAFile=/path-to-ca/bundle.pemparametresini kullanın
documentDb için URI şu şekilde görünecektir:
mongodb+srv://username:password@domain/dbname?retryWrites=false&tls=true&tlsCAFile=/path-to-ca/bundle.pem
Ayrıca bakınız:
- MongoDB Atlas (Docker olmadan kullanım için yararlı olan çevrimiçi bir MongoDB Atlas veritabanının nasıl oluşturulacağına dair talimatlar için)
- MongoDB Community Server yerel bir MongoDB veritabanının (Docker olmadan) nasıl oluşturulacağına dair talimatlar için
- MongoDB Authentication Docker üzerinde MongoDB için açık kimlik doğrulamayı etkinleştirmek için.
- Mongo Express ile veritabanınızı yönetin, Docker MongoDB veritabanınıza güvenli bir şekilde erişmek için
Uygulama Alanları
LibreChat'i yerel kullanım veya özel alan adı dağıtımı için yapılandırmak üzere aşağıdaki ortam değişkenlerini ayarlayın:
| Key | Type | Description | Example |
|---|---|---|---|
| DOMAIN_CLIENT | string | İstemci tarafı etki alanını belirtir. | DOMAIN_CLIENT=http://localhost:3080 |
| DOMAIN_SERVER | string | Sunucu tarafı alan adını belirtir. | DOMAIN_SERVER=http://localhost:3080 |
| ADMIN_PANEL_URL | string | Yönetici paneli ayrı olarak barındırıldığında, yönetici OAuth/SSO yönlendirmeleri için kullanılan harici yönetici paneli temel URL'si. Sonuna eğik çizgi (/) eklemeyin. | ADMIN_PANEL_URL=https://admin.example.com/admin |
| ADMIN_PANEL_SESSION_SECRET | string | Paketlenmiş yönetici paneli için gerekli oturum şifreleme anahtarı (en az 32 karakter). docker-compose ve deploy-compose admin-panel servisleri bunu SESSION_SECRET olarak okur. Yığını başlatmadan önce `openssl rand -hex 32` komutuyla oluşturun. | ADMIN_PANEL_SESSION_SECRET=<your-32-char-random-string> |
| ADMIN_PANEL_PORT | number | Varsayılan docker-compose içindeki paketlenmiş yönetici paneli için ana bilgisayar bağlantı noktası. deploy-compose içinde panel, bunun yerine nginx aracılığıyla http://admin.localhost adresinden sunulur. | ADMIN_PANEL_PORT=3000 |
LibreChat'i özel bir alan adına dağıtırken, http://localhost:3080 ifadesini dağıttığınız URL ile değiştirin.
- örneğin
https://librechat.example.com.
Arama Motorlarının İndekslemesini Engelleme
Varsayılan olarak, web siteniz herkese açık arama motorları (örneğin Google, Bing, …) tarafından dizine eklenmeyecektir. Bu, insanların web sitenizi bu arama motorları aracılığıyla bulamayacağı anlamına gelir. Web sitenizi daha görünür ve aranabilir hale getirmek istiyorsanız, aşağıdaki ayarı false olarak değiştirebilirsiniz.
| Key | Type | Description | Example |
|---|---|---|---|
| NO_INDEX | boolean | Arama motorlarının web sitenizi dizine eklemesini engeller. | NO_INDEX=true |
❗Not: Bu yöntemin tüm arama motorları için çalışacağı garanti edilmemekte olup, bazı arama motorları web sitenizi veya web sayfanızı önbelleğe alma veya arşivleme gibi başka amaçlarla dizine eklemeye devam edebilir. Bu nedenle, web sitenizdeki veya web sayfanızdaki hassas veya gizli bilgileri korumak için yalnızca bu yönteme güvenmemelisiniz.
Günlük Kaydı
LibreChat yerleşik bir merkezi günlüğe kaydetme sistemine sahiptir, daha fazla bilgi için Logging System bölümüne bakın.
Günlük Dosyaları
- Hata ayıklama günlüğü (debug logging) varsayılan olarak etkindir ve geliştirme için çok önemlidir.
- Sorunları bildirmek için hatayı yeniden oluşturun ve
./api/logs/debug-%DATE%.logdosyasındaki günlükleri şu adrese gönderin: LibreChat GitHub Issues - Hata günlükleri aynı konumda saklanır.
Ortam Değişkenleri
| Key | Type | Description | Example |
|---|---|---|---|
| DEBUG_LOGGING | boolean | Hata ayıklama günlüklerini etkin tutun. | DEBUG_LOGGING=true |
| DEBUG_CONSOLE | boolean | Dosya hata ayıklama günlükleriyle aynı formatta ayrıntılı konsol/stdout günlüklerini etkinleştirin. | DEBUG_CONSOLE=false |
| LOG_TO_FILE | boolean | Dosya destekli Winston aktarımlarını devre dışı bırakıp konsol günlüğünü etkin tutmak için false olarak ayarlayın. | LOG_TO_FILE=true |
| CONSOLE_JSON | boolean | GCP/AWS gibi bulut dağıtımları için uygun olan ayrıntılı JSON konsol/stdout günlüklerini etkinleştirin. | CONSOLE_JSON=false |
| CONSOLE_JSON_STRING_LENGTH | number | JSON konsol/stdout günlüklerindeki dize değerleri için kırpma boyutunu yapılandırın. Varsayılan: 255. | # CONSOLE_JSON_STRING_LENGTH=255 |
| LIBRECHAT_LOG_DIR | string | Günlük dosyaları için özel dizin. Varsayılan değer /app/logs (Docker) veya api/logs (yerel geliştirme). | # LIBRECHAT_LOG_DIR=/custom/log/path |
| MEM_DIAG | boolean | Bellek tanılamayı etkinleştirir — her 60 saniyede bir yığın/RSS anlık görüntülerini günlüğe kaydeder. --inspect ile çalıştırıldığında otomatik olarak etkinleştirilir. | # MEM_DIAG=true |
| AGENT_DEBUG_LOGGING | boolean | Ajan denetleyicisinde ayrıntılı hata ayıklama günlüğünü etkinleştirir (token sayıları, bağlam budama tanılamaları). | # AGENT_DEBUG_LOGGING=true |
Not:
DEBUG_LOGGING,DEBUG_CONSOLEveyaCONSOLE_JSONile kullanılabilir ancak her ikisiyle birden kullanılamaz.DEBUG_CONSOLEveCONSOLE_JSONbirbirini dışlayan seçeneklerdir.CONSOLE_JSON: Bulut dağıtımlarında (GCP veya AWS gibi) konsol günlüklerini işlerken, bunu etkinleştirmek günlükleri UTC zaman damgasıyla dökecek ve JSON olarak biçimlendirecektir.
Not: DEBUG_CONSOLE önerilmemektedir, çünkü çıktılar oldukça ayrıntılı olabilir, bu nedenle varsayılan olarak devre dışıdır.
İzin
UID ve GID, Linux tarafından sistemdeki her kullanıcıya ve gruba atanan numaralardır. İzin sorunları yaşıyorsanız, Docker Compose komutunu çalıştıran kullanıcının UID ve GID değerlerini buraya ayarlayın. Konteyner içindeki uygulamalar bu UID/GID değerleriyle çalışacaktır.
| Key | Type | Description | Example |
|---|---|---|---|
| UID | number | Kullanıcı kimliği. | # UID=1000 |
| GID | number | Grup kimliği. | # GID=1000 |
OpenTelemetry Tracing
LibreChat, genel API, HTTP, MongoDB, Mongoose, Redis ve giden istek görünürlüğü için arka uç OpenTelemetry izleri yayabilir. Redis komut düzeyi aralıkları (spans) isteğe bağlıdır, bu nedenle varsayılan izler üst düzeyde kalır. GenAI'ye özgü istem/model gözlemlenebilirliği için Langfuse kullanın.
| Key | Type | Description | Example |
|---|---|---|---|
| OTEL_TRACING_ENABLED | boolean | Arka uç OpenTelemetry izlemeyi etkinleştirin. OTEL_SDK_DISABLED=true olduğunda izleme devre dışı kalır. | # OTEL_TRACING_ENABLED=false |
| OTEL_SERVICE_NAME | string | OpenTelemetry'ye bildirilen hizmet adı. Varsayılan: librechat. | # OTEL_SERVICE_NAME=librechat |
| OTEL_SERVICE_VERSION | string | OpenTelemetry'ye bildirilen servis sürümü. Ayarlanmadığında varsayılan olarak paket sürümünü kullanır. | # OTEL_SERVICE_VERSION= |
| OTEL_EXPORTER_OTLP_ENDPOINT | string | Temel OTLP dışa aktarıcı endpoint'i. | # OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318 |
| OTEL_EXPORTER_OTLP_TRACES_ENDPOINT | string | İzlemeye özel OTLP endpoint. Ayarlandığında, izlemeler için temel endpoint'i geçersiz kılar. | # OTEL_EXPORTER_OTLP_TRACES_ENDPOINT= |
| OTEL_EXPORTER_OTLP_HEADERS | string | Virgülle ayrılmış OTLP dışa aktarıcı başlıkları (örneğin, yetkilendirme meta verileri). | # OTEL_EXPORTER_OTLP_HEADERS= |
| OTEL_TRACES_EXPORTER | string | İzleyici dışa aktarıcı seçimi. | # OTEL_TRACES_EXPORTER=otlp |
| OTEL_TRACES_SAMPLER | string | OpenTelemetry iz örnekleyici. Varsayılan örnek: parentbased_always_on. | # OTEL_TRACES_SAMPLER=parentbased_always_on |
| OTEL_LOG_LEVEL | string | OpenTelemetry SDK günlük düzeyi. | # OTEL_LOG_LEVEL=INFO |
| OTEL_SDK_DISABLED | boolean | İzleme etkinleştirilmiş olsa bile OpenTelemetry SDK'sını devre dışı bırakın. | # OTEL_SDK_DISABLED=false |
| OTEL_IOREDIS_TRACING_ENABLED | boolean | Redis komut düzeyi aralıklarını etkinleştirir. Arka uç izlemelerini üst düzeyde tutmak için varsayılan olarak devre dışıdır. | # OTEL_IOREDIS_TRACING_ENABLED=false |
Gerçek Kullanıcı İzleme (Tarayıcı)
LibreChat, tarayıcı Gerçek Kullanıcı İzleme (RUM) telemetrisini HyperDX uyumlu OTLP toplayıcılarına yayınlayabilir. RUM varsayılan olarak devre dışıdır.
| Key | Type | Description | Example |
|---|---|---|---|
| RUM_ENABLED | boolean | Tarayıcı Gerçek Kullanıcı İzlemeyi (RUM) etkinleştirin. Varsayılan: false. | # RUM_ENABLED=false |
| RUM_PROVIDER | string | Tarayıcı RUM sağlayıcısı. Şu anda `hyperdx` desteklemektedir. | # RUM_PROVIDER=hyperdx |
| RUM_URL | string | public-token modu tarafından kullanılan genel toplayıcı URL'si. | # RUM_URL=http://localhost:4318 |
| RUM_SERVICE_NAME | string | Tarayıcı SDK'sı tarafından bildirilen hizmet adı. Varsayılan: librechat-web. | # RUM_SERVICE_NAME=librechat-web |
| RUM_ENVIRONMENT | string | Tarayıcı telemetrisi ile bildirilen ortam etiketi. | # RUM_ENVIRONMENT=development |
| RUM_AUTH_MODE | string | Tarayıcı telemetrisi için kimlik doğrulama modu. `publicToken` veya `proxy` kullanın. | # RUM_AUTH_MODE=publicToken |
| RUM_PUBLIC_TOKEN | string | Public-token modu için genel tarayıcı belirteci. Bunu herkese açık olarak değerlendirin ve toplayıcıda (collector) veri alımını kısıtlayın. | # RUM_PUBLIC_TOKEN= |
| RUM_PROXY_TARGET_URL | string | Kimliği doğrulanmış proxy modu tarafından kullanılan Collector temel URL'si. `RUM_AUTH_MODE=proxy` olduğunda gereklidir. | # RUM_PROXY_TARGET_URL=http://otel-collector:4318 |
| RUM_PROXY_TIMEOUT_MS | number | Milisaniye cinsinden proxy istek zaman aşımı. Varsayılan: 10000. | # RUM_PROXY_TIMEOUT_MS=10000 |
| RUM_TRACE_PROPAGATION_TARGETS | string | traceparent başlıklarını alması gereken, virgülle ayrılmış birinci taraf HTTPS kaynakları veya URL'leri. | # RUM_TRACE_PROPAGATION_TARGETS=https://api.example.com |
| RUM_DISABLE_REPLAY | boolean | Tarayıcı oturumu tekrarını devre dışı bırak. Varsayılan: true. | # RUM_DISABLE_REPLAY=true |
| RUM_CONSOLE_CAPTURE | boolean | Tarayıcı konsol günlüklerini yakalar. Hassas istemleri, yanıtları veya yükleri toplayabilir. | # RUM_CONSOLE_CAPTURE=false |
| RUM_ADVANCED_NETWORK_CAPTURE | boolean | Ayrıntılı ağ yüklerini yakalar. Hassas istemleri, yanıtları veya yükleri toplayabilir. | # RUM_ADVANCED_NETWORK_CAPTURE=false |
| RUM_SAMPLE_RATE | number | 0 ile 1 arasında tarayıcı telemetri örnekleme oranı. Varsayılan: 1. | # RUM_SAMPLE_RATE=1 |
publicToken modunda, tarayıcı telemetriyi doğrudan RUM_PUBLIC_TOKEN ile RUM_URL adresine gönderir. proxy modunda ise tarayıcı telemetriyi LibreChat üzerinden gönderir; arka uç (backend) kullanıcı oturumunu doğrular, uygulama kimlik doğrulama başlıklarını kaldırır ve telemetriyi RUM_PROXY_TARGET_URL adresine iletir. Geçersiz veya süresi dolmuş oturumlar 204 yanıtı ile düşürülür, böylece tarayıcı telemetri hataları normal API kimlik doğrulama hatalarını ortaya çıkarmaz. Proxy sonuçları, LibreChat API /metrics uç noktasında endpoint ve result etiketleriyle rum_proxy_requests_total içinde sayılır.
Yapılandırma Yolu - librechat.yaml
LibreChat yapılandırma dosyası için alternatif bir konum belirtin.
Mutlak bir yol, göreli bir yol veya bir URL belirtebilirsiniz. Yoldaki dosya adı esnektir ve librechat.yaml olması gerekmez; geçerli herhangi bir yapılandırma dosyası çalışacaktır.
Not: LibreChat'in yapılandırma dosyasını kök dizinde aramasını tercih ederseniz (varsayılan davranış budur), bu seçeneği yorum satırı olarak bırakmanız yeterlidir.
| Key | Type | Description | Example |
|---|---|---|---|
| CONFIG_PATH | string | LibreChat yapılandırma dosyası için alternatif bir konum. | # CONFIG_PATH=https://raw.githubusercontent.com/danny-avila/LibreChat/main/librechat.example.yaml |
Dağıtım Becerileri
Deployment Skills, başlangıçta dosya sisteminden salt okunur olarak yüklenir ve Skills yeteneği etkinleştirilmiş kullanıcılara sunulur.
| Key | Type | Description | Example |
|---|---|---|---|
| DEPLOYMENT_SKILLS_DIR | string | Dağıtım tarafından sağlanan Skill'leri içeren dizin. Varsayılan olarak proje kök dizinindeki `./skill` yoludur. | # DEPLOYMENT_SKILLS_DIR=./skill |
Bu dizini veya içindeki herhangi bir dosyayı değiştirdikten sonra LibreChat'i yeniden başlatın. Dağıtım tarafından sağlanan Skills, aynı isme sahip kalıcı Skills'e göre önceliklidir.
Yapılandırma Doğrulama
Varsayılan olarak LibreChat, librechat.yaml yapılandırma dosyası doğrulama hataları içeriyorsa bir hata ile (çıkış kodu 1) kapanacaktır. Bu hızlı başarısız olma (fail-fast) davranışı, dağıtım süreçlerinde yapılandırma sorunlarının erkenden tespit edilmesine yardımcı olur ve istenmeyen varsayılan ayarlarla çalışmayı önler.
| Key | Type | Description | Example |
|---|---|---|---|
| CONFIG_BYPASS_VALIDATION | boolean | `true` olarak ayarlandığında, `librechat.yaml` doğrulama hataları içerse bile sunucu bir uyarı günlüğü oluşturacak ve varsayılan yapılandırmayla başlatılmaya devam edecektir. Bu, eski davranış biçimini korur. | # CONFIG_BYPASS_VALIDATION=true |
Uyarı
CONFIG_BYPASS_VALIDATION=true kullanımı üretim ortamları için önerilmez. Bu, yapılandırma sorunlarını ayıklarken geçici bir çözüm olarak tasarlanmıştır. Yapılandırma dosyanızdaki doğrulama hatalarını her zaman düzeltin.
Yakalanmamış İstisna İşleme
Varsayılan olarak LibreChat, yakalanmamış bir istisna oluştuğunda süreci sonlandıracaktır; bu, standart Node.js davranışıdır. Yakalanmamış istisnalardan sonra uygulamanın çalışmaya devam etmesini sağlamak için bu davranışı geçersiz kılabilirsiniz.
| Key | Type | Description | Example |
|---|---|---|---|
| CONTINUE_ON_UNCAUGHT_EXCEPTION | boolean | `true` olarak ayarlandığında, uygulama yakalanamayan istisnalarla karşılaştığında süreci sonlandırmak yerine çalışmaya devam edecektir. | # CONTINUE_ON_UNCAUGHT_EXCEPTION=false |
Uyarı
Gerekli olmadıkça üretim ortamı için önerilmez. Yakalanmayan istisnalar, uygulamayı öngörülemez bir durumda bırakabilir.
Endpoints
Bu bölümde, endpoint'leri ve model seçimini, bunların API anahtarlarını ve bunu destekleyen endpoint'ler için proxy ve reverse proxy ayarlarını yapılandırabilirsiniz.
Genel Yapılandırma
LibreChat içindeki mevcut endpoint'leri özelleştirmek için ENDPOINTS satırının yorum işaretlerini kaldırın.
| Key | Type | Description | Example |
|---|---|---|---|
| ENDPOINTS | string | Kullanılabilir endpoint'lerin virgülle ayrılmış listesi. | # ENDPOINTS=openAI,agents,assistants,gptPlugins,azureOpenAI,google,anthropic,bingAI,custom |
| PROXY | string | Desteklenen sunucu tarafı istemciler için giden proxy. Hem HTTP hem de HTTPS hedefleri için geçerlidir. | PROXY= |
| HTTP_PROXY | string | PROXY ayarlanmadığında desteklenen sunucu tarafı istemcileri tarafından kullanılan HTTP proxy yedeği. | # HTTP_PROXY= |
| HTTPS_PROXY | string | PROXY ayarlanmadığında desteklenen sunucu tarafı istemciler tarafından kullanılan HTTPS proxy yedeği. | # HTTPS_PROXY= |
| NO_PROXY | string | Desteklenen sunucu tarafı istemcilerin atlaması gereken, virgülle ayrılmış ana bilgisayarlar, alan adları veya IP aralıkları. Küçük harfli no_proxy değişkeni de dikkate alınır. | # NO_PROXY= |
| TITLE_CONVO | boolean | Tüm endpoint'ler için başlıklandırmayı etkinleştirin. | TITLE_CONVO=true |
Bilinen endpoint'ler - librechat.yaml
- ayrıca bakınız: Custom Endpoints & Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| ANYSCALE_API_KEY | string | Anyscale için API anahtarı. | # ANYSCALE_API_KEY= |
| APIPIE_API_KEY | string | Apipie için API anahtarı. | # APIPIE_API_KEY= |
| COHERE_API_KEY | string | Cohere için API anahtarı. | # COHERE_API_KEY= |
| FIREWORKS_API_KEY | string | Fireworks için API anahtarı. | # FIREWORKS_API_KEY= |
| GROQ_API_KEY | string | Groq için API anahtarı. | # GROQ_API_KEY= |
| MISTRAL_API_KEY | string | Mistral için API anahtarı. | # MISTRAL_API_KEY= |
| OPENROUTER_KEY | string | OpenRouter için API anahtarı. | # OPENROUTER_KEY= |
| PERPLEXITY_API_KEY | string | Perplexity için API anahtarı. | # PERPLEXITY_API_KEY= |
| SHUTTLEAI_API_KEY | string | ShuttleAI için API anahtarı. | # SHUTTLEAI_API_KEY= |
| TOGETHERAI_API_KEY | string | TogetherAI için API anahtarı. | # TOGETHERAI_API_KEY= |
| DEEPSEEK_API_KEY | string | Deepseek API için API anahtarı | # DEEPSEEK_API_KEY= |
Web Search
Web arama özelliği, LibreChat içerisinde internette arama yapma yeteneklerini etkinleştirir.
Önemli: Aşağıda gösterilen tam ortam değişkeni adları varsayılan referanslardır ve tercih ettiğiniz herhangi bir değişken adını kullanmak için librechat.yaml yapılandırma dosyası aracılığıyla özelleştirilebilirler.
Ayrıntılı yapılandırma ve özelleştirme seçenekleri için bkz: Web Search Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| SERPER_API_KEY | string | Serper arama sağlayıcısı için API anahtarı. Anahtarınızı https://serper.dev/api-keys adresinden alın | # SERPER_API_KEY= |
| TAVILY_API_KEY | string | Tavily arama ve kazıyıcı sağlayıcısı için API anahtarı. Anahtarınızı https://app.tavily.com/home adresinden alın. | # TAVILY_API_KEY= |
| TAVILY_SEARCH_URL | string | Özel Tavily Arama API URL'si (isteğe bağlı). Yalnızca özel veya proxy Tavily uyumlu arama endpoint'leri için gereklidir. | # TAVILY_SEARCH_URL= |
| TAVILY_EXTRACT_URL | string | Özel Tavily Extract API URL'si (isteğe bağlı). Yalnızca özel veya proxy Tavily uyumlu extract uç noktaları için gereklidir. | # TAVILY_EXTRACT_URL= |
| FIRECRAWL_API_KEY | string | Firecrawl kazıyıcı hizmeti için API anahtarı. Anahtarınızı https://docs.firecrawl.dev/introduction#api-key adresinden alın. | # FIRECRAWL_API_KEY= |
| FIRECRAWL_API_URL | string | Özel Firecrawl API URL'si (isteğe bağlı). Yalnızca özel Firecrawl örnekleri için gereklidir. | # FIRECRAWL_API_URL= |
| FIRECRAWL_VERSION | string | Firecrawl API sürümü (v0 veya v1). | # FIRECRAWL_VERSION=v1 |
| JINA_API_KEY | string | Jina reranker hizmeti için API anahtarı. Anahtarınızı https://jina.ai/api-dashboard/ adresinden alın. | # JINA_API_KEY= |
| JINA_API_URL | string | Özel Jina API URL'si (isteğe bağlı). Yalnızca özel Jina örnekleri için gereklidir. | # JINA_API_URL= |
| COHERE_API_KEY | string | Cohere reranker hizmeti için API anahtarı. Anahtarınızı https://dashboard.cohere.com/welcome/login adresinden alın | # COHERE_API_KEY= |
Not: Bu değişken adları librechat.yaml yapılandırma dosyanızda özelleştirilebilir. Örneğin, web arama ayarlarında yapılandırarak SERPER_API_KEY yerine CUSTOM_SERPER_KEY kullanabilirsiniz. Değişken adlarını özelleştirme hakkında ayrıntılar için Web Search Configuration belgelerine bakın.
Anthropic
bkz: Anthropic Endpoint
- https://platform.claude.com/ adresinden bir erişim anahtarı talep edebilirsiniz.
- Bu endpoint'i devre dışı bırakmak için
ANTHROPIC_API_KEY=kısmını boş bırakın - Kullanıcıların WebUI üzerinden kendi API anahtarlarını sağlamalarına izin vermek için
ANTHROPIC_API_KEY=değerini "user_provided" olarak ayarlayın. Anthropiciçin bir ters vekil sunucusuna (reverse proxy) erişiminiz varsa, bunuANTHROPIC_REVERSE_PROXY=ile ayarlayabilirsiniz.- varsayılan base url'i kullanmak için boş bırakın veya yorum satırı yapın
| Key | Type | Description | Example |
|---|---|---|---|
| ANTHROPIC_API_KEY | string | Anthropic API anahtarı veya kullanıcıların kendi API anahtarlarını sağlamalarına izin vermek için "user_provided". | Defaults to an empty string. |
| ANTHROPIC_MODELS | string | Kullanılacak Anthropic modellerinin virgülle ayrılmış listesi. | # 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 | Anthropic için ters vekil sunucu (reverse proxy). | # ANTHROPIC_REVERSE_PROXY= |
| ANTHROPIC_TITLE_MODEL | string | KULLANIMDAN KALDIRILDI: Anthropic ile başlıklandırma için kullanılacak model. | # ANTHROPIC_TITLE_MODEL=claude-3-haiku-20240307 |
ANTHROPIC_TITLE_MODELartık kullanımdan kaldırılmıştır ve gelecek sürümlerde kaldırılacaktır. Bunun yerinelibrechat.yamlyapılandırmasındakititleModelEndpoint Setting ayarını kullanın.
Not: Anthropic Endpoint ile uyumlu olmalıdır. Ayrıca, Claude 2 ve Claude 3 modelleri bu görevde en iyi performansı gösterir;
claude-3-haikumodelleri ise en uygun maliyetli olanlardır.
Claude Fable 5, varsayılan Anthropic model listesine dahildir. Fable/Mythos sınıfı modeller, LibreChat'te modern Anthropic davranışını kullanır: 1M bağlam, uyarlanabilir düşünme desteği, istem önbelleğe alma (prompt caching) desteği ve özetlenmiş veya atlanmış muhakeme çıktısı için thinkingDisplay işleme.
Vertex AI üzerinden Anthropic
Anthropic Claude modellerini Google Cloud Vertex AI aracılığıyla da kullanabilirsiniz. Ayrıntılı YAML yapılandırma seçenekleri için bkz: Anthropic Vertex AI Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| ANTHROPIC_USE_VERTEX | boolean | Doğrudan API yerine Google Vertex AI üzerinden Anthropic modellerini kullanmak için true olarak ayarlayın. | ANTHROPIC_USE_VERTEX=true |
| ANTHROPIC_VERTEX_REGION | string | Vertex AI için Google Cloud bölgesi. Varsayılan: us-east5. | ANTHROPIC_VERTEX_REGION=us-east5 |
Not: Vertex AI kullanırken,
Vertex AI Userrolüne sahip bir hizmet hesabıylaGOOGLE_SERVICE_KEY_FILE(bkz. Google Yapılandırması) ayarını da yapılandırmanız gerekir.
AWS Bedrock
Bkz: AWS Bedrock Kurulumu
| Key | Type | Description | Example |
|---|---|---|---|
| BEDROCK_AWS_DEFAULT_REGION | string | Bedrock için varsayılan bir AWS bölgesi sağlanmalıdır. | BEDROCK_AWS_DEFAULT_REGION=us-east-1 |
| BEDROCK_AWS_ACCESS_KEY_ID | string | Bedrock için AWS erişim anahtarı kimliği (access key ID). Varsayılan AWS kimlik bilgileri zinciri kullanılıyorsa isteğe bağlıdır. | # BEDROCK_AWS_ACCESS_KEY_ID=your_access_key_id |
| BEDROCK_AWS_SECRET_ACCESS_KEY | string | Bedrock için AWS secret access key. Varsayılan AWS kimlik bilgisi zinciri kullanılıyorsa isteğe bağlıdır. | # BEDROCK_AWS_SECRET_ACCESS_KEY=your_secret_access_key |
| BEDROCK_AWS_SESSION_TOKEN | string | Geçici kimlik bilgileri için AWS oturum belirteci. İsteğe bağlı. | # BEDROCK_AWS_SESSION_TOKEN=your_session_token |
| BEDROCK_AWS_PROFILE | string | Bedrock için AWS paylaşılan yapılandırma profili adı. Varsayılan AWS kimlik bilgileri zinciri kullanılıyorsa isteğe bağlıdır. | # BEDROCK_AWS_PROFILE=your-profile-name |
| BEDROCK_AWS_BEARER_TOKEN | string | Bearer kimlik doğrulaması için Amazon Bedrock API anahtarı veya kullanıcıların kendi Bedrock API anahtarlarını arayüz üzerinden girmelerine olanak tanımak için user_provided. | # BEDROCK_AWS_BEARER_TOKEN=your_bedrock_api_key |
| BEDROCK_AWS_MODELS | string | Virgülle ayrılmış Bedrock model kimlikleri listesi. Belirtilmediği takdirde, bilinen tüm desteklenen modeller dahil edilir. | # 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 |
Not: Varsayılan AWS kimlik bilgileri zincirini (ortam değişkenleri, SSO kimlik bilgileri, paylaşılan kimlik bilgisi dosyaları veya EC2/ECS Örnek Meta Veri Hizmeti) kullanmak için erişim anahtarlarını atlayabilirsiniz. Daha fazla ayrıntı için AWS Bedrock Setup bölümüne bakın.
Bedrock üzerindeki Claude Fable/Mythos sınıfı modeller yalnızca çıkarım profili (inference-profile) tabanlıdır. us.anthropic.claude-fable-5 gibi bir profil kimliği kullanın ve bu modelleri çağırmadan önce Bedrock konsolunda veya Data Retention API üzerinden gerekli Anthropic veri paylaşım ayarını etkinleştirin.
BingAI
Bing, ayrıca Sydney, jailbreak ve Bing Image Creator için kullanılır
| Key | Type | Description | Example |
|---|---|---|---|
| BINGAI_TOKEN | string | Bing erişim belirteci. Devre dışı bırakmak için boş bırakın. Kullanıcıların WebUI üzerinden kendi belirteçlerini sağlamalarına izin vermek için "user_provided" olarak ayarlanabilir. | BINGAI_TOKEN=user_provided |
| BINGAI_HOST | string | Bing ana bilgisayar URL'si. Varsayılan sunucuyu kullanmak için yorum satırı olarak bırakın. | # BINGAI_HOST=https://cn.bing.com |
Not: Bunu "user_provided" olarak bırakmanız ve token'ı WebUI üzerinden sağlamanız önerilir.
Google Endpoint kurulumunu yapmak için bu talimatları izleyin
| Key | Type | Description | Example |
|---|---|---|---|
| GOOGLE_KEY | string | Google API anahtarı. Kullanıcıların WebUI üzerinden kendi API anahtarlarını sağlamalarına izin vermek için "user_provided" olarak ayarlayın. | GOOGLE_KEY=user_provided |
| GOOGLE_SERVICE_KEY_FILE | string | Google hizmet hesabı JSON anahtar dosyasının yolu, getirileceği URL veya stringleştirilmiş JSON. Vertex AI kimlik doğrulaması (örneğin, OCR özellikleri) için kullanılır. | GOOGLE_SERVICE_KEY_FILE=/path/to/auth.json |
| GOOGLE_REVERSE_PROXY | string | Google ters vekil sunucu URL'si. | GOOGLE_REVERSE_PROXY= |
| GOOGLE_AUTH_HEADER | boolean | X-goog-api-key yerine Authorization başlığını kullanın. Bazı ters vekil sunucular (reverse proxies) bunu gerektirir. | # GOOGLE_AUTH_HEADER=true |
| GOOGLE_MODELS | string | Virgülle ayrılmış, mevcut Gemini API Google modelleri. | 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 | Virgülle ayrılmış, mevcut Vertex AI Google modelleri. | 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 | KULLANIMDAN KALDIRILDI: Google ile başlıklandırma için kullanılan model. | GOOGLE_TITLE_MODEL=gemini-pro |
| GOOGLE_LOC | string | API isteklerini işlemek için Google Cloud konumunu belirtir | GOOGLE_LOC=us-central1 |
| GOOGLE_CLOUD_LOCATION | string | Gemini Görsel Oluşturma için alternatif bölge (örneğin, global). | # GOOGLE_CLOUD_LOCATION=global |
| GOOGLE_EXCLUDE_SAFETY_SETTINGS | string | Varsayılan olarak dahil edilen güvenlik ayarlarını tamamen devre dışı bırakın; bu, sağlayıcı varsayılanlarını kullanacaktır | GOOGLE_EXCLUDE_SAFETY_SETTINGS=true |
| GOOGLE_SAFETY_SEXUALLY_EXPLICIT | string | Cinsel içerikli içerikler için güvenlik ayarı. Seçenekler: BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF. | GOOGLE_SAFETY_SEXUALLY_EXPLICIT=BLOCK_ONLY_HIGH |
| GOOGLE_SAFETY_HATE_SPEECH | string | Nefret söylemi içeriği için güvenlik ayarı. Seçenekler BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF şeklindedir. | GOOGLE_SAFETY_HATE_SPEECH=BLOCK_ONLY_HIGH |
| GOOGLE_SAFETY_HARASSMENT | string | Taciz içeriği için güvenlik ayarı. Seçenekler: BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF. | GOOGLE_SAFETY_HARASSMENT=BLOCK_ONLY_HIGH |
| GOOGLE_SAFETY_DANGEROUS_CONTENT | string | Tehlikeli içerik için güvenlik ayarı. Seçenekler BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF şeklindedir. | GOOGLE_SAFETY_DANGEROUS_CONTENT=BLOCK_ONLY_HIGH |
| GOOGLE_SAFETY_CIVIC_INTEGRITY | string | Sivil bütünlük içeriği için güvenlik ayarı. Seçenekler BLOCK_ALL, BLOCK_ONLY_HIGH, WARN_ONLY ve OFF şeklindedir. | # GOOGLE_SAFETY_CIVIC_INTEGRITY=BLOCK_ONLY_HIGH |
Kullanılabilir modelleri virgülle ayrılmış şekilde, boşluk bırakmadan özelleştirin. İlk sırada yer alan varsayılan olacaktır. Dahili ayarları kullanmak için boş bırakın veya yorum satırı haline getirin.
GOOGLE_TITLE_MODELartık kullanımdan kaldırılmıştır ve gelecek sürümlerde kaldırılacaktır. Bunun yerinelibrechat.yamlyapılandırmasındakititleModelUç Nokta Ayarını kullanın.
Not: Vertex AI GOOGLE_SAFETY değişkenleri için varsayılan olarak BLOCK_NONE ayarına erişiminiz yoktur. Bu kısıtlı HarmBlockThreshold ayarını kullanmak için şunlardan birini yapmanız gerekecektir:
- (a) Google hesap ekibiniz aracılığıyla bir izin listesi (allowlist) üzerinden erişim sağlayın
- (b) Bu talimatı izleyerek hesap türünüzü aylık faturalandırmalı ödemeye geçirin: https://cloud.google.com/billing/docs/how-to/invoiced-billing
Gemini Görsel Oluşturma
Gemini Image Generation, hem Gemini API'yi hem de Vertex AI'ı destekleyen, Agent'lar için bir araçtır. Bkz: Gemini Image Generation
| Key | Type | Description | Example |
|---|---|---|---|
| GEMINI_API_KEY | string | Görsel oluşturma için özel Gemini API anahtarı. Ayarlanmadığı takdirde GOOGLE_KEY kullanılır. | # GEMINI_API_KEY=your_gemini_api_key |
| GEMINI_IMAGE_MODEL | string | Görüntü oluşturma için Gemini modeli. Varsayılan: gemini-2.5-flash-image. | # GEMINI_IMAGE_MODEL=gemini-2.5-flash-image |
Not: Herhangi bir API anahtarı yapılandırılmadığında, araç otomatik olarak
GOOGLE_SERVICE_KEY_FILEiçindeki hizmet hesabını kullanarak Vertex AI'a geri döner. Hizmet hesabınınVertex AI Userrolüne sahip olması gerekir.
OpenAI
Bkz: OpenAI Setup
| Key | Type | Description | Example |
|---|---|---|---|
| OPENAI_API_KEY | string | OpenAI API anahtarınız. Bu endpoint'i devre dışı bırakmak için boş bırakın veya kullanıcıların WebUI üzerinden kendi API anahtarlarını sağlamalarına izin vermek için "user_provided" olarak ayarlayın. | OPENAI_API_KEY=user_provided |
| OPENAI_MODELS | string | Kullanılabilir modelleri virgülle ayrılmış şekilde, boşluk bırakmadan özelleştirin. İlk model varsayılan olacaktır. Dahili ayarları kullanmak için yorum satırı olarak bırakın. | # 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 | OpenAI endpoint için hata ayıklama modunu etkinleştirin. | DEBUG_OPENAI=false |
| OPENAI_SUMMARIZE | boolean | Mesaj özetlemeyi etkinleştir. Varsayılan olarak False'tur | # OPENAI_SUMMARIZE=true |
| OPENAI_SUMMARY_MODEL | string | OpenAI özetleme için kullanılan model. | # OPENAI_SUMMARY_MODEL=gpt-3.5-turbo |
| OPENAI_FORCE_PROMPT | boolean | API'nin messages yükü yerine prompt yükü ile çağrılmasını zorunlu kılın. | # OPENAI_FORCE_PROMPT=false |
| OPENAI_ORGANIZATION | string | OpenAI'a yapılan her API isteği için hangi organizasyonun kullanılacağını belirtin. İsteğe bağlı | # OPENAI_ORGANIZATION= |
| OPENAI_REVERSE_PROXY | string | KULLANIMDAN KALDIRILDI: OpenAI için ters vekil sunucu (reverse proxy) ayarları. | # OPENAI_REVERSE_PROXY= |
| OPENAI_TITLE_MODEL | string | KULLANIMDAN KALDIRILDI: OpenAI başlıklandırma için kullanılan model. | # OPENAI_TITLE_MODEL=gpt-3.5-turbo |
OPENAI_TITLE_MODELartık kullanımdan kaldırılmıştır ve gelecek sürümlerde kaldırılacaktır. Bunun yerinelibrechat.yamlyapılandırmasındatitleModelUç Nokta Ayarını kullanın.OPENAI_REVERSE_PROXYartık kullanımdan kaldırılmıştır ve gelecek sürümlerde kaldırılacaktır. Bunun yerine bir özel uç nokta kullanın.
Assistants
Bkz: Assistants Setup
| Key | Type | Description | Example |
|---|---|---|---|
| ASSISTANTS_API_KEY | string | Assistants API için OpenAI API anahtarınız. Bu endpoint'i devre dışı bırakmak için boş bırakın veya kullanıcıların WebUI üzerinden kendi API anahtarlarını sağlamalarına izin vermek için "user_provided" olarak ayarlayın. | ASSISTANTS_API_KEY=user_provided |
| ASSISTANTS_MODELS | string | Kullanılabilir modelleri virgülle ayırarak ve boşluk bırakmadan özelleştirin. İlk model varsayılan olacaktır. Dahili ayarları kullanmak için boş bırakın. | # 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 | Assistants API için alternatif temel URL. | # ASSISTANTS_BASE_URL= |
Not: Kullanılabilir modelleri, aralarında boşluk bırakmadan virgülle ayırarak özelleştirebilirsiniz. İlk sırada yer alan varsayılan olacaktır. Dahili ayarları kullanmak için boş bırakın veya yorum satırı haline getirin.
Tavily
API anahtarınızı buradan alın: https://tavily.com/#api
Ortam Değişkenleri:
| Key | Type | Description | Example |
|---|---|---|---|
| TAVILY_API_KEY | string | Tavily API anahtarı. | TAVILY_API_KEY= |
Traversaal
Açıklama: LLM ile geliştirilmiş arama aracı.
API anahtarını buradan alın: https://api.traversaal.ai/dashboard
Ortam Değişkenleri:
| Key | Type | Description | Example |
|---|---|---|---|
| TRAVERSAAL_API_KEY | string | Traversaal API anahtarı. | TRAVERSAAL_API_KEY= |
WolframAlpha
Ayrıntılı talimatları burada bulabilirsiniz: Wolfram Alpha
Ortam Değişkenleri:
| Key | Type | Description | Example |
|---|---|---|---|
| WOLFRAM_APP_ID | string | Wolfram Alpha Uygulama Kimliği (App ID) | WOLFRAM_APP_ID= |
Zapier
Açıklama: - Bir Zapier hesabına ihtiyacınız var. API anahtarınızı buradan alın: Zapier
- İzin verilen eylemleri oluşturun - Zapier'in bu başlangıç kılavuzundaki 3. adımı izleyin
Not: Zapier'ın belirli eylemler konusunda hassas olduğu bilinmektedir. E-posta taslakları yazmak muhtemelen bunun için en iyi kullanım alanıdır.
Ortam Değişkenleri:
| Key | Type | Description | Example |
|---|---|---|---|
| ZAPIER_NLA_API_KEY | string | Zapier NLA API anahtarı. | ZAPIER_NLA_API_KEY= |
OpenWeather
Ayrıntılı talimatları burada bulabilirsiniz: OpenWeather
| Key | Type | Description | Example |
|---|---|---|---|
| OPENWEATHER_API_KEY | string | One Call API 3.0 için OpenWeather API anahtarı. | OPENWEATHER_API_KEY= |
Code Interpreter
Code Interpreter API, kod yürütmek ve dosyaları yönetmek için güvenli bir ortam sağlar. Bkz: Code Interpreter API
| Key | Type | Description | Example |
|---|---|---|---|
| LIBRECHAT_CODE_API_KEY | string | Code Interpreter hizmeti için API anahtarı. Genel olarak ayarlandığında, tüm kullanıcılara erişim sağlar. | LIBRECHAT_CODE_API_KEY=your-api-key |
| LIBRECHAT_CODE_BASEURL | string | Code Interpreter API için özel temel URL (yalnızca Enterprise planları). | # LIBRECHAT_CODE_BASEURL=https://your-custom-domain.com |
Artifacts
Artifacts, HTML/JS kodunun güvenli bir şekilde oluşturulması için CodeSandbox kütüphanesinden yararlanır. Varsayılan olarak, CodeSandbox tarafından barındırılan herkese açık CDN kullanılır.
Neyse ki, dahili ağ gereksinimleri olanlar için, ön uç kodunu derleyen paketleyiciyi kendi sunucunuzda barındırabilir ve Sandpack için özel bir paketleyici URL'si belirtebilirsiniz.
Metrik istekleri kaldırılmış şekilde kendi kendine barındırma (self-hosting) için hazır konteyner görüntüleri de dahil olmak üzere daha fazla bilgi için bkz: https://github.com/LibreChat-AI/codesandbox-client
| Key | Type | Description | Example |
|---|---|---|---|
| SANDPACK_BUNDLER_URL | string | Artifacts tarafından kullanılan Sandpack için özel bir paketleyici URL'si belirtir | SANDPACK_BUNDLER_URL=your-bundler-url |
Arama (Meilisearch)
Mesajlar ve konuşmalar içinde aramayı etkinleştirir:
| Key | Type | Description | Example |
|---|---|---|---|
| SEARCH | boolean | Mesajlarda ve sohbetlerde aramayı etkinleştirir. | SEARCH=true |
Not: Docker kullanmıyorsanız, ücretsiz kendi kendine barındırılan (self-hosted) Meilisearch kurulumu veya ücretli bir uzak plan gerektirir.
Mutlak gizlilik için MeiliSearch'e yönelik anonimleştirilmiş telemetri analizlerini devre dışı bırakmak istiyorsanız, bunu true olarak ayarlayın:
| Key | Type | Description | Example |
|---|---|---|---|
| MEILI_NO_ANALYTICS | boolean | MeiliSearch için anonimleştirilmiş telemetri analizlerini devre dışı bırakır. | MEILI_NO_ANALYTICS=true |
API sunucusunun arama sunucusuna bağlanması için. MeiliSearch'ü docker-compose ile çalıştırıyorsanız '0.0.0.0' ifadesini 'meilisearch' ile değiştirin.
| Key | Type | Description | Example |
|---|---|---|---|
| MEILI_HOST | string | Arama sunucusuna API sunucusu bağlantısı. | MEILI_HOST=http://0.0.0.0:7700 |
Bu ana anahtar (master key), geçerli UTF-8 karakterlerinden oluşan en az 16 bayt uzunluğunda olmalıdır. Bir ana anahtar sağlanmazsa veya 16 bayttan kısa olursa, MeiliSearch bir hata verecek ve başlatılmayı reddedecektir. MeiliSearch, güvenli ve otomatik oluşturulmuş bir ana anahtar önerecektir. Bu, docker-compose için hazır ve güvenli bir anahtardır; dilerseniz bunu kendinizinkiyle değiştirebilirsiniz.
| Key | Type | Description | Example |
|---|---|---|---|
| MEILI_MASTER_KEY | string | MeiliSearch için ana anahtar. | MEILI_MASTER_KEY=DrhYf7zENyR6AlUCKmnz0eYASOQdl6zxH7s7MKFSfFCt |
LibreChat'in Meilisearch ile bir veritabanı indeksleme senkronizasyonu yapmaya çalışmasını önlemek için aşağıdaki ortam değişkenini true olarak ayarlayabilirsiniz. Bu, yalnızca bir örneğin indekslemeden sorumlu olması gereken bir node kümesinde veya çoklu node kurulumunda kullanışlıdır.
| Key | Type | Description | Example |
|---|---|---|---|
| MEILI_NO_SYNC | string | Meilisearch dizin senkronizasyonunu devre dışı bırakma anahtarı | MEILI_NO_SYNC=true |
RAG API
Belge indeksleme ve bağlama duyarlı yanıtlar için Retrieval-Augmented Generation (RAG) yapılandırmasını gerçekleştirin. Bkz: RAG API Configuration
| Key | Type | Description | Example |
|---|---|---|---|
| RAG_API_URL | string | RAG API servisinin URL'si. | RAG_API_URL=http://host.docker.internal:8000 |
| RAG_OPENAI_API_KEY | string | RAG yerleştirmeleri için OpenAI API anahtarı. RAG için OPENAI_API_KEY değerini geçersiz kılar. | # RAG_OPENAI_API_KEY=sk-your-openai-api-key |
| RAG_OPENAI_BASEURL | string | RAG yerleştirmeleri için özel OpenAI temel URL'si. | # RAG_OPENAI_BASEURL= |
| RAG_USE_FULL_CONTEXT | boolean | İlk 4 sonuç yerine tüm dosya bağlamını getir. Varsayılan: false. | # RAG_USE_FULL_CONTEXT=true |
| EMBEDDINGS_PROVIDER | string | Embeddings sağlayıcısı: openai, azure, huggingface, huggingfacetei veya ollama. Varsayılan: openai. | # EMBEDDINGS_PROVIDER=openai |
| EMBEDDINGS_MODEL | string | Kullanılacak Embeddings modeli. Varsayılan değer sağlayıcıya bağlıdır. | # EMBEDDINGS_MODEL=text-embedding-3-small |
Not: Varsayılan Docker kurulumunu kullanırken,
.envdosyası LibreChat ve RAG API arasında paylaşılır. Tüm yapılandırma seçenekleri için RAG API belgelerine bakın.
Konuşmadan Metne & Metinden Konuşmaya
Konuşmadan Metne (STT) ve Metinden Konuşmaya (TTS) servislerini yapılandırın. Bkz: Konuşma Ayarları
| Key | Type | Description | Example |
|---|---|---|---|
| STT_API_KEY | string | Speech-to-Text hizmeti için API anahtarı (örneğin, OpenAI Whisper). | # STT_API_KEY= |
| TTS_API_KEY | string | Metinden Konuşmaya (Text-to-Speech) hizmeti için API anahtarı (örneğin OpenAI TTS). | # TTS_API_KEY= |
Not: STT ve TTS öncelikli olarak
librechat.yamliçindekispeech:bölümü aracılığıyla yapılandırılır. Bu ortam değişkenleri, söz konusu yapılandırmada referans alınır. Tam YAML yapılandırma seçenekleri için Speech Settings bölümüne bakın.
Paylaşılan Bağlantılar
Paylaşılan sohbet bağlantıları işlevini yapılandırın.
| Key | Type | Description | Example |
|---|---|---|---|
| ALLOW_SHARED_LINKS | boolean | Paylaşılan sohbet bağlantılarını etkinleştirin veya devre dışı bırakın. Varsayılan: true. | ALLOW_SHARED_LINKS=true |
| ALLOW_SHARED_LINKS_PUBLIC | boolean | Paylaşılan bağlantıların kimlik doğrulaması olmadan herkese açık olmasını sağlayın. Varsayılan: false. | ALLOW_SHARED_LINKS_PUBLIC=false |
| SHARED_LINKS_SNAPSHOT_FILES | boolean | Paylaşılan bir sohbet tarafından referans verilen anlık görüntü dosyaları; böylece görüntüleyenler bunları paylaşılan bağlantı üzerinden önizleyebilir veya indirebilir. Ayarlandığında interface.sharedLinks.snapshotFiles değerini geçersiz kılar. | SHARED_LINKS_SNAPSHOT_FILES=true |
ALLOW_SHARED_LINKS, özellik genelindeki anahtardır. Rol izinleri artık kimlerin paylaşılan bağlantılar oluşturabileceğini, bunları kimliği doğrulanmış kullanıcılarla paylaşabileceğini veya herkes için görünür kılabileceğini kontrol eder; bkz. interface.sharedLinks. ALLOW_SHARED_LINKS_PUBLIC yalnızca herkese açık paylaşılan bağlantıların kimlik doğrulaması olmadan görüntülenip görüntülenemeyeceğini kontrol eder. SHARED_LINKS_SNAPSHOT_FILES, paylaşılan bağlantı dosya anlık görüntüleri için genel bir geçersiz kılmadır ve false olarak ayarlandığında her bağlantı için anlık görüntü sunumunu devre dışı bırakabilir.
Kullanıcı Sistemi
Bu bölüm şunlar için yapılandırmayı içerir:
Moderasyon
Otomatik Denetleme Sistemi, kullanıcı ihlallerini takip etmek için bir puanlama mekanizması kullanır. Kullanıcılar aşırı giriş denemeleri, kayıtlar veya mesajlaşma gibi eylemlerde bulundukça ihlal puanları biriktirirler. Belirlenen bir eşiğe ulaşıldığında, kullanıcı ve IP adresi geçici olarak yasaklanır. Bu sistem, hızlı veya şüpheli etkinlikleri izleyip cezalandırarak platform güvenliğini sağlar.
bakınız: Otomatik Denetleme
Temel Denetim Ayarları
| Key | Type | Description | Example |
|---|---|---|---|
| OPENAI_MODERATION | boolean | **OpenAI** ve **Plugins** endpoint'lerinde OpenAI denetiminin etkinleştirilip etkinleştirilmeyeceği. | OPENAI_MODERATION=false |
| OPENAI_MODERATION_API_KEY | string | OpenAI API anahtarınız. | OPENAI_MODERATION_API_KEY= |
| OPENAI_MODERATION_REVERSE_PROXY | string | Not: Varsayılan olarak yorum satırı halindedir, tüm reverse proxy'lerle çalışmayabilir. | # OPENAI_MODERATION_REVERSE_PROXY= |
Yasaklama Ayarları
| Key | Type | Description | Example |
|---|---|---|---|
| BAN_VIOLATIONS | boolean | İhlaller nedeniyle kullanıcıların yasaklanıp yasaklanmayacağı (yine de kayıt altına alınacaklardır). | BAN_VIOLATIONS=true |
| BAN_DURATION | integer | Kullanıcının ve ilişkili IP adresinin ne kadar süreyle yasaklanacağı (milisaniye cinsinden). | BAN_DURATION=1000 * 60 * 60 * 2 |
| BAN_INTERVAL | integer | Kullanıcının puanı aralık eşiğine her ulaştığında veya bu eşiği geçtiğinde kullanıcı yasaklanacaktır. | BAN_INTERVAL=20 |
Giriş ve kayıt hız sınırlaması
Giriş denemelerini ve yeni hesap kayıtlarını sınırlayarak kaba kuvvet saldırılarını ve spam kayıtlarını önler.
| Key | Type | Description | Example |
|---|---|---|---|
| LOGIN_MAX | integer | LOGIN_WINDOW başına IP başına izin verilen maksimum giriş sayısı. | LOGIN_MAX=7 |
| LOGIN_WINDOW | integer | LOGIN_MAX girişi için zaman aralığını dakika cinsinden belirler. | LOGIN_WINDOW=5 |
| REGISTER_MAX | integer | REGISTER_WINDOW başına IP başına izin verilen maksimum kayıt sayısı. | REGISTER_MAX=5 |
| REGISTER_WINDOW | integer | Dakika cinsinden, REGISTER_MAX kayıtları için zaman aralığını belirler. | REGISTER_WINDOW=60 |
Her ihlal için puan
| Key | Type | Description | Example |
|---|---|---|---|
| LOGIN_VIOLATION_SCORE | integer | Giriş ihlalleri için puan. | LOGIN_VIOLATION_SCORE=1 |
| REGISTRATION_VIOLATION_SCORE | integer | Kayıt ihlalleri için puan. | REGISTRATION_VIOLATION_SCORE=1 |
| CONCURRENT_VIOLATION_SCORE | integer | Eş zamanlı ihlaller için puan. | CONCURRENT_VIOLATION_SCORE=1 |
| MESSAGE_VIOLATION_SCORE | integer | Mesaj ihlalleri için puan. | MESSAGE_VIOLATION_SCORE=1 |
| NON_BROWSER_VIOLATION_SCORE | integer | Tarayıcı dışı ihlaller için puan. | NON_BROWSER_VIOLATION_SCORE=20 |
| ILLEGAL_MODEL_REQ_SCORE | integer | Yasadışı model istekleri için puan. | ILLEGAL_MODEL_REQ_SCORE=5 |
| IMPORT_VIOLATION_SCORE | integer | İçe aktarılan sohbet ihlalleri için puan. | IMPORT_VIOLATION_SCORE=1 |
| FORK_VIOLATION_SCORE | integer | Sohbet çatallanma ihlalleri için puan. | FORK_VIOLATION_SCORE=1 |
| TTS_VIOLATION_SCORE | integer | Metinden sese dönüştürme ihlalleri için puan. | TTS_VIOLATION_SCORE=0 |
| STT_VIOLATION_SCORE | integer | Konuşmadan metne dönüştürme ihlalleri için puan. | STT_VIOLATION_SCORE=0 |
| FILE_UPLOAD_VIOLATION_SCORE | integer | Dosya yükleme ihlalleri için puan. | FILE_UPLOAD_VIOLATION_SCORE=0 |
| RESET_PASSWORD_VIOLATION_SCORE | integer | Parola sıfırlama ihlalleri için puan. | RESET_PASSWORD_VIOLATION_SCORE=0 |
| VERIFY_EMAIL_VIOLATION_SCORE | integer | E-posta doğrulama ihlalleri için puan. | VERIFY_EMAIL_VIOLATION_SCORE=0 |
| TOOL_CALL_VIOLATION_SCORE | integer | Araç çağrısı ihlalleri için puan. | TOOL_CALL_VIOLATION_SCORE=0 |
| CONVO_ACCESS_VIOLATION_SCORE | integer | Sohbet erişim ihlalleri için puan. | CONVO_ACCESS_VIOLATION_SCORE=0 |
Not: Tarayıcı dışı erişim ve yasa dışı model istekleri neredeyse her zaman kötü niyetlidir; çünkü bu, 3. bir tarafın otomatik bir betik aracılığıyla sunucuya erişmeye çalıştığı anlamına gelir.
Mesaj hız sınırlaması (kullanıcı ve IP başına)
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_CONCURRENT_MESSAGES | boolean | Bir kullanıcının istek başına gönderebileceği mesaj miktarının sınırlandırılıp sınırlandırılmayacağı. | LIMIT_CONCURRENT_MESSAGES=true |
| CONCURRENT_MESSAGE_MAX | integer | Bir kullanıcının istek başına gönderebileceği maksimum mesaj sayısı. | CONCURRENT_MESSAGE_MAX=2 |
Sınırlayıcılar
Not: Her iki sınırlayıcıyı da kullanabilirsiniz, ancak varsayılan yalnızca IP'ye göre sınırlamaktır.
IP Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_MESSAGE_IP | boolean | Bir IP'nin `MESSAGE_IP_WINDOW` başına gönderebileceği mesaj miktarının sınırlandırılıp sınırlandırılmayacağı. | LIMIT_MESSAGE_IP=true |
| MESSAGE_IP_MAX | integer | Bir IP'nin `MESSAGE_IP_WINDOW` başına gönderebileceği maksimum mesaj miktarı. | MESSAGE_IP_MAX=40 |
| MESSAGE_IP_WINDOW | integer | `MESSAGE_IP_MAX` mesajı için zaman aralığını dakika cinsinden belirler. | MESSAGE_IP_WINDOW=1 |
Kullanıcı Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_MESSAGE_USER | boolean | Bir kullanıcının `MESSAGE_USER_WINDOW` başına gönderebileceği mesaj miktarının sınırlandırılıp sınırlandırılmayacağı. | LIMIT_MESSAGE_USER=false |
| MESSAGE_USER_MAX | integer | Bir kullanıcının `MESSAGE_USER_WINDOW` başına gönderebileceği maksimum mesaj miktarı. | MESSAGE_USER_MAX=40 |
| MESSAGE_USER_WINDOW | integer | `MESSAGE_USER_MAX` mesajları için zaman aralığını dakika cinsinden belirler. | MESSAGE_USER_WINDOW=1 |
Sohbet içe aktarma hız sınırlaması
Kötüye kullanımı önlemek için kullanıcıların konuşmaları ne sıklıkla içe aktarabileceğini sınırlar.
Not: Her iki sınırlayıcıyı da kullanabilirsiniz, ancak varsayılan yalnızca IP'ye göre sınırlamaktır.
IP Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_IMPORT_IP | boolean | Bir IP adresinin `IMPORT_IP_WINDOW` başına gerçekleştirebileceği sohbet içe aktarma miktarının sınırlandırılıp sınırlandırılmayacağı. | LIMIT_IMPORT_IP=true |
| IMPORT_IP_MAX | integer | Bir IP adresinin `IMPORT_IP_WINDOW` başına gerçekleştirebileceği maksimum sohbet içe aktarma sayısı. | IMPORT_IP_MAX=100 |
| IMPORT_IP_WINDOW | integer | `IMPORT_IP_MAX` içe aktarmaları için zaman aralığını dakika cinsinden belirler. | IMPORT_IP_WINDOW=1 |
Kullanıcı Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_IMPORT_USER | boolean | Bir kullanıcının `IMPORT_USER_WINDOW` başına gerçekleştirebileceği sohbet içe aktarma miktarının sınırlandırılıp sınırlandırılmayacağı. | LIMIT_IMPORT_USER=false |
| IMPORT_USER_MAX | integer | Bir kullanıcının `IMPORT_USER_WINDOW` başına gerçekleştirebileceği maksimum sohbet içe aktarma miktarı. | IMPORT_USER_MAX=50 |
| IMPORT_USER_WINDOW | integer | `IMPORT_USER_MAX` içe aktarmaları için zaman aralığını dakika cinsinden belirler. | IMPORT_USER_WINDOW=1 |
Sohbet çatallama hız sınırlaması
Kötüye kullanımı önlemek için kullanıcıların konuşmaları ne sıklıkla çatallayabileceğini (fork) sınırlar.
Not: Her iki sınırlayıcıyı da kullanabilirsiniz, ancak varsayılan yalnızca IP'ye göre sınırlamaktır.
IP Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_FORK_IP | boolean | Bir IP adresinin `FORK_IP_WINDOW` başına oluşturabileceği konuşma çatalı (fork) miktarının sınırlandırılıp sınırlandırılmayacağı. | LIMIT_FORK_IP=true |
| FORK_IP_MAX | integer | Bir IP'nin `FORK_IP_WINDOW` başına oluşturabileceği maksimum konuşma çatalı (fork) sayısı. | FORK_IP_MAX=30 |
| FORK_IP_WINDOW | integer | `FORK_IP_MAX` çatallanmaları için zaman aralığını dakika cinsinden belirler. | FORK_IP_WINDOW=1 |
Kullanıcı Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| LIMIT_FORK_USER | boolean | Bir kullanıcının `FORK_USER_WINDOW` başına oluşturabileceği konuşma çatalı (fork) miktarının sınırlandırılıp sınırlandırılmayacağı. | LIMIT_FORK_USER=false |
| FORK_USER_MAX | integer | Bir kullanıcının `FORK_USER_WINDOW` başına oluşturabileceği maksimum konuşma çatalı (fork) sayısı. | FORK_USER_MAX=7 |
| FORK_USER_WINDOW | integer | `FORK_USER_MAX` fork'ları için zaman aralığını dakika cinsinden belirler. | FORK_USER_WINDOW=1 |
Dosya yükleme hız sınırlaması
Kötüye kullanımı önlemek için kullanıcıların dosya yükleme sıklığını sınırlar.
Not: Bunlar ayrıca
librechat.yamliçindekirateLimits.fileUploadsbölümü aracılığıyla da yapılandırılabilir.
IP Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| FILE_UPLOAD_IP_MAX | integer | `FILE_UPLOAD_IP_WINDOW` başına IP başına maksimum dosya yükleme sayısı. Varsayılan: 100. | # FILE_UPLOAD_IP_MAX=100 |
| FILE_UPLOAD_IP_WINDOW | integer | `FILE_UPLOAD_IP_MAX` için zaman aralığını dakika cinsinden belirler. Varsayılan: 15. | # FILE_UPLOAD_IP_WINDOW=15 |
Kullanıcı Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| FILE_UPLOAD_USER_MAX | integer | `FILE_UPLOAD_USER_WINDOW` başına kullanıcı başına maksimum dosya yükleme sayısı. Varsayılan: 50. | # FILE_UPLOAD_USER_MAX=50 |
| FILE_UPLOAD_USER_WINDOW | integer | Dakika cinsinden, `FILE_UPLOAD_USER_MAX` için zaman aralığını belirler. Varsayılan: 15. | # FILE_UPLOAD_USER_WINDOW=15 |
TTS (Metinden Sese) hız sınırlaması
Kötüye kullanımı önlemek için kullanıcıların Metin Okuma (Text-to-Speech) özelliğini ne sıklıkla kullanabileceğini sınırlar.
Not: Bunlar ayrıca
librechat.yamldosyasındakirateLimits.ttsbölümü aracılığıyla da yapılandırılabilir.
IP Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| TTS_IP_MAX | integer | `TTS_IP_WINDOW` başına IP başına maksimum TTS isteği. Varsayılan: 100. | # TTS_IP_MAX=100 |
| TTS_IP_WINDOW | integer | Dakika cinsinden, `TTS_IP_MAX` için zaman aralığını belirler. Varsayılan: 1. | # TTS_IP_WINDOW=1 |
Kullanıcı Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| TTS_USER_MAX | integer | `TTS_USER_WINDOW` başına kullanıcı başına maksimum TTS isteği. Varsayılan: 50. | # TTS_USER_MAX=50 |
| TTS_USER_WINDOW | integer | `TTS_USER_MAX` için zaman aralığını dakika cinsinden belirler. Varsayılan: 1. | # TTS_USER_WINDOW=1 |
STT (Speech-to-Text) hız sınırlaması
Kötüye kullanımı önlemek için kullanıcıların Konuşmadan Metne (Speech-to-Text) özelliğini ne sıklıkla kullanabileceğini sınırlar.
Not: Bunlar ayrıca
librechat.yamldosyasındakirateLimits.sttbölümü aracılığıyla da yapılandırılabilir.
IP Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| STT_IP_MAX | integer | `STT_IP_WINDOW` başına IP başına maksimum STT isteği. Varsayılan: 100. | # STT_IP_MAX=100 |
| STT_IP_WINDOW | integer | Dakika cinsinden, `STT_IP_MAX` için zaman aralığını belirler. Varsayılan: 1. | # STT_IP_WINDOW=1 |
Kullanıcı Sınırlayıcı:
| Key | Type | Description | Example |
|---|---|---|---|
| STT_USER_MAX | integer | `STT_USER_WINDOW` başına kullanıcı başına maksimum STT isteği. Varsayılan: 50. | # STT_USER_MAX=50 |
| STT_USER_WINDOW | integer | Dakika cinsinden, `STT_USER_MAX` için zaman aralığını belirler. Varsayılan: 1. | # STT_USER_WINDOW=1 |
Bakiye
Aşağıdaki özellik, sistemin endpoint'leri dahilindeki kullanıcı bakiyelerinin yönetilmesine olanak tanır. Bakiyeleri manuel olarak ekleme seçeneğine sahipsiniz veya kullanıcılar için otomatik olarak bakiye biriktiren bir sistem uygulamayı tercih edebilirsiniz. Yapılandırmada belirli bir başlangıç bakiyesi tanımlanmışsa, kullanıcılar kayıt olduklarında bakiyelerine otomatik olarak token yüklenecektir.
bakınız: Token Kullanımı
| Key | Type | Description | Example |
|---|---|---|---|
| CHECK_BALANCE | boolean | OpenAI/Plugins endpoint'leri için token kredi bakiyelerini etkinleştirin. | CHECK_BALANCE=false |
| START_BALANCE | integer | Eğer değer ayarlanmışsa, kayıt işleminden sonra kullanıcı bakiyesine token tanımlanacaktır. | START_BALANCE=20000 |
Bakiyeleri Yönetme
- Bakiyeleri manuel olarak eklemek için
npm run add-balancekomutunu çalıştırın.- Ayrıca eklenecek e-posta adresini ve token kredi miktarını da belirtebilirsiniz, örneğin:
npm run add-balance [email protected] 1000
- Ayrıca eklenecek e-posta adresini ve token kredi miktarını da belirtebilirsiniz, örneğin:
- Bakiyeleri manuel olarak ayarlamak için
npm run set-balancekomutunu çalıştırın; bu,add-balancekomutuna benzer şekilde çalışır. - Her kullanıcının bakiyesini listelemek için
npm run list-balanceskomutunu çalıştırın.
Not: 1000 kredi = $0.001 (1 mil USD)
Kayıt ve Giriş
Yapılandırma Dosyası Açıklaması
Bu bölümdeki tüm kimlik doğrulama ayarları librechat.yaml dosyasında veya docker-compose.override.yml dosyasında değil, .env dosyanızda yapılandırılmalıdır. docker-compose.override.yml dosyası yalnızca Docker için birimleri (volumes) bağlamak ve ortam değişkenlerini ayarlamak amacıyla kullanılırken, librechat.yaml dosyası özel endpoint'ler ve diğer uygulama ayarları için kullanılır.
- Genel Ayarlar:
| Key | Type | Description | Example |
|---|---|---|---|
| ALLOW_EMAIL_LOGIN | boolean | SADECE e-posta ile girişi etkinleştirin veya devre dışı bırakın. | ALLOW_EMAIL_LOGIN=true |
| ALLOW_REGISTRATION | boolean | Yeni kullanıcıların E-posta ile kaydını etkinleştirin veya devre dışı bırakın. | ALLOW_REGISTRATION=true |
| ALLOW_SOCIAL_LOGIN | boolean | Kullanıcıların LibreChat'e çeşitli sosyal ağlarla bağlanmasına izin verin. | ALLOW_SOCIAL_LOGIN=false |
| ALLOW_SOCIAL_REGISTRATION | boolean | Çeşitli sosyal ağları kullanarak yeni kullanıcıların kaydını etkinleştirin veya devre dışı bırakın. | ALLOW_SOCIAL_REGISTRATION=false |
| ALLOW_PASSWORD_RESET | boolean | Kullanıcıların şifrelerini kendilerinin sıfırlayabilme özelliğini etkinleştirin veya devre dışı bırakın | ALLOW_PASSWORD_RESET=false |
| ALLOW_ACCOUNT_DELETION | boolean | Kullanıcıların hesaplarını kendi başlarına silme yeteneğini etkinleştirin veya devre dışı bırakın. Belirtilmediğinde/yorum satırı yapıldığında varsayılan olarak etkindir | ALLOW_ACCOUNT_DELETION=true |
| ALLOW_UNVERIFIED_EMAIL_LOGIN | boolean | Kullanıcıların e-posta adreslerini doğrulamadan giriş yapmalarına izin vermek için true olarak ayarlayın. false olarak ayarlanırsa, kullanıcıların giriş yapmadan önce e-postalarını doğrulamaları gerekecektir. | ALLOW_UNVERIFIED_EMAIL_LOGIN=true |
| MIN_PASSWORD_LENGTH | number | Kullanıcı kimlik doğrulaması için minimum parola uzunluğu. LDAP kimlik doğrulaması kullanırken, LDAP sunucuları kendi parola politikalarını yönettikleri için yerel parola doğrulamasını atlamak amacıyla bunu 1 olarak ayarlamak isteyebilirsiniz. | MIN_PASSWORD_LENGTH=8 |
Hızlı İpucu: Kayıt devre dışı bırakılmış olsa bile,
npm run create-userkomutunu kullanarak kullanıcıları doğrudan veritabanına ekleyebilirsiniz.
Hızlı İpucu: Kayıt devre dışı bırakıldığında,
npm run delete-user [email protected]komutuyla bir kullanıcıyı silebilirsiniz.
- Oturum ve Yenileme Jetonu Ayarları:
| Key | Type | Description | Example |
|---|---|---|---|
| SESSION_EXPIRY | integer (milliseconds) | Oturum zaman aşımı süresi. | SESSION_EXPIRY=1000 * 60 * 15 |
| REFRESH_TOKEN_EXPIRY | integer (milliseconds) | Yenileme belirteci (refresh token) sona erme süresi. | REFRESH_TOKEN_EXPIRY=(1000 * 60 * 60 * 24) * 7 |
| SESSION_COOKIE_SECURE | boolean | Oturum/kimlik doğrulama çerezleri için Secure özniteliğini geçersiz kılar. Varsayılan NODE_ENV/DOMAIN_SERVER buluşsal yöntemini kullanmak için ayarlanmamış bırakın. | # SESSION_COOKIE_SECURE=false |
-
Daha fazla bilgi için: Refresh Token
-
JWT Ayarları:
Yeni ve güvenli değerler kullanmalısınız. Verilen örnekler 32 baytlık anahtarlardır (onaltılık tabanda 64 karakter). Hızlıca oluşturmak için bu replit'i kullanın: JWT Keys
| Key | Type | Description | Example |
|---|---|---|---|
| JWT_SECRET | string (hex) | JWT gizli anahtarı. | JWT_SECRET=16f8c0ef4a5d391b26034086c628469d3f9f497f08163ab9b40137092f2909ef |
| JWT_REFRESH_SECRET | string (hex) | JWT yenileme gizli anahtarı. | JWT_REFRESH_SECRET=eaa5191f2914e30b9387fd84e254e4ba6fc51b4654968a9b0803b456a54b8418 |
Sosyal Girişler
Daha fazla detay için: OAuth2-OIDC
Apple Kimlik Doğrulaması
Daha fazla bilgi için: Apple Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| APPLE_CLIENT_ID | string | Apple Hizmet Kimliğiniz (ör. com.yourdomain.librechat.services). | APPLE_CLIENT_ID=com.yourdomain.librechat.services |
| APPLE_TEAM_ID | string | Apple Developer Team ID'niz. | APPLE_TEAM_ID=YOUR_TEAM_ID |
| APPLE_KEY_ID | string | İndirilen anahtardan Apple Key ID'niz. | APPLE_KEY_ID=YOUR_KEY_ID |
| APPLE_PRIVATE_KEY_PATH | string | İndirdiğiniz .p8 dosyasının mutlak yolu. | APPLE_PRIVATE_KEY_PATH=/path/to/AuthKey.p8 |
| APPLE_CALLBACK_URL | string | Apple kimlik doğrulaması için geri çağırma (callback) URL'si. | APPLE_CALLBACK_URL=/oauth/apple/callback |
Discord Kimlik Doğrulaması
Daha fazla bilgi için: Discord
| Key | Type | Description | Example |
|---|---|---|---|
| DISCORD_CLIENT_ID | string | Discord istemci kimliğiniz. | DISCORD_CLIENT_ID= |
| DISCORD_CLIENT_SECRET | string | Discord client secret değeriniz. | DISCORD_CLIENT_SECRET= |
| DISCORD_CALLBACK_URL | string | Discord kimlik doğrulaması için geri çağırma (callback) URL'si. | DISCORD_CALLBACK_URL=/oauth/discord/callback |
Facebook Kimlik Doğrulaması
Daha fazla bilgi için: Facebook Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| FACEBOOK_CLIENT_ID | string | Facebook istemci kimliğiniz. | FACEBOOK_CLIENT_ID= |
| FACEBOOK_CLIENT_SECRET | string | Facebook istemci gizli anahtarınız. | FACEBOOK_CLIENT_SECRET= |
| FACEBOOK_CALLBACK_URL | string | Facebook kimlik doğrulaması için geri çağırma (callback) URL'si. | FACEBOOK_CALLBACK_URL=/oauth/facebook/callback |
GitHub Kimlik Doğrulaması
Daha fazla bilgi için: GitHub Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| GITHUB_CLIENT_ID | string | GitHub istemci kimliğiniz. | GITHUB_CLIENT_ID= |
| GITHUB_CLIENT_SECRET | string | GitHub client secret değeriniz. | GITHUB_CLIENT_SECRET= |
| GITHUB_CALLBACK_URL | string | GitHub kimlik doğrulaması için geri çağırma (callback) URL'si. | GITHUB_CALLBACK_URL=/oauth/github/callback |
| GITHUB_ENTERPRISE_BASE_URL | string | İsteğe bağlı: GitHub Enterprise örneğiniz için temel URL. | GITHUB_ENTERPRISE_BASE_URL= |
| GITHUB_ENTERPRISE_USER_AGENT | string | İsteğe bağlı: GitHub Enterprise istekleri için kullanıcı aracısı. | GITHUB_ENTERPRISE_USER_AGENT= |
Google Kimlik Doğrulaması
Daha fazla bilgi için: Google Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| GOOGLE_CLIENT_ID | string | Google istemci kimliğiniz. | GOOGLE_CLIENT_ID= |
| GOOGLE_CLIENT_SECRET | string | Google istemci sırrınız. | GOOGLE_CLIENT_SECRET= |
| GOOGLE_CALLBACK_URL | string | Google kimlik doğrulaması için geri çağırma (callback) URL'si. | GOOGLE_CALLBACK_URL=/oauth/google/callback |
OpenID Connect
Daha fazla bilgi için:
| Key | Type | Description | Example |
|---|---|---|---|
| OPENID_CLIENT_ID | string | OpenID istemci kimliğiniz. | OPENID_CLIENT_ID= |
| OPENID_CLIENT_SECRET | string | OpenID istemci sırrınız. | OPENID_CLIENT_SECRET= |
| OPENID_ISSUER | string | OpenID sağlayıcı URL'si. | OPENID_ISSUER= |
| OPENID_SESSION_SECRET | string | OpenID oturum depolaması için gizli anahtar. | OPENID_SESSION_SECRET= |
| OPENID_SCOPE | string | OpenID kapsamı. | OPENID_SCOPE="openid profile email" |
| OPENID_CALLBACK_URL | string | OpenID kimlik doğrulaması için geri çağırma (callback) URL'si. | OPENID_CALLBACK_URL=/oauth/openid/callback |
| OPENID_AUDIENCE | string | OpenID JWT doğrulama ve yetkilendirme istekleri için Audience değeri. JWT doğrulaması için virgülle ayrılmış değerler kabul edilir; yetkilendirme istekleri ilk boş olmayan değeri kullanır. OPENID_REUSE_TOKENS=true kullanıldığında opak token'lar yerine JWT erişim token'ları almak için Auth0 ile gereklidir. | OPENID_AUDIENCE=https://api.librechat.com |
| OPENID_REQUIRED_ROLE | string | Doğrulama için gerekli rol(ler). Tek bir rolü veya virgülle ayrılmış birden fazla rolü destekler. Birden fazla rol belirtildiğinde, kullanıcının belirtilen rollerden HERHANGİ BİRİNE sahip olması gerekir (VEYA mantığı). | OPENID_REQUIRED_ROLE=admin or OPENID_REQUIRED_ROLE=role1,role2,admin |
| OPENID_REQUIRED_ROLE_TOKEN_KIND | string | Gerekli rol doğrulaması için token türü. | OPENID_REQUIRED_ROLE_TOKEN_KIND= |
| OPENID_REQUIRED_ROLE_PARAMETER_PATH | string | Gerekli rol doğrulaması için parametre yolu. | OPENID_REQUIRED_ROLE_PARAMETER_PATH= |
| OPENID_ADMIN_ROLE | string | LibreChat üzerinde yönetici olmak için kullanıcının sahip olması gereken rol. | OPENID_ADMIN_ROLE= |
| OPENID_ADMIN_ROLE_TOKEN_KIND | string | Yönetici rolü doğrulaması için bilgi kaynağı. Olası değerler: access, id veya userinfo. | OPENID_ADMIN_ROLE_TOKEN_KIND= |
| OPENID_ADMIN_ROLE_PARAMETER_PATH | string | Gerekli rol doğrulaması için parametre yolu. | OPENID_ADMIN_ROLE_PARAMETER_PATH= |
| OPENID_ROLE_SYNC_ENABLED | boolean | Yönetici olmayan roller için genel OpenID rol senkronizasyonunu etkinleştirin. ADMIN rolü, rol senkronizasyonu ile atanamaz; yönetici yetkisi yükseltme için OPENID_ADMIN_ROLE kullanın. | OPENID_ROLE_SYNC_ENABLED=false |
| OPENID_ROLE_SYNC_API_ENABLED | boolean | API tabanlı rol senkronizasyon yardımcılarını etkinleştirin. OPENID_ROLE_SYNC_ENABLED=true gerektirir. | OPENID_ROLE_SYNC_API_ENABLED=false |
| OPENID_ROLE_SYNC_SOURCE | string | Rol talebi için token kaynağı. Şunlardan biri olmalıdır: access, id, userinfo. Varsayılan: id. | OPENID_ROLE_SYNC_SOURCE=id |
| OPENID_ROLE_SYNC_CLAIM | string | Sağlayıcı rollerini veya gruplarını içeren talep yolu. Rol senkronizasyonu etkinleştirildiğinde gereklidir. | OPENID_ROLE_SYNC_CLAIM= |
| OPENID_ROLE_SYNC_ROLE_PRIORITY | string | En önemliden en aza doğru sıralanmış, virgülle ayrılmış LibreChat rolleri. İlk eşleşen rol atanır. | OPENID_ROLE_SYNC_ROLE_PRIORITY=Support,User |
| OPENID_ROLE_SYNC_FALLBACK_ROLE | string | Hiçbir öncelikli rol eşleşmediğinde atanan LibreChat rolü. Yapılandırıldığında yedek rol yetkilidir. | OPENID_ROLE_SYNC_FALLBACK_ROLE=USER |
| OPENID_BUTTON_LABEL | string | OpenID giriş düğmesi için etiket. | OPENID_BUTTON_LABEL= |
| OPENID_IMAGE_URL | string | OpenID giriş düğmesi görselinin URL'si. | OPENID_IMAGE_URL= |
| OPENID_USE_END_SESSION_ENDPOINT | string | Oturum Kapatma Yönlendirmesi olarak Issuer End Session endpoint'inin kullanılıp kullanılmayacağı | OPENID_USE_END_SESSION_ENDPOINT=TRUE |
| OPENID_MAX_LOGOUT_URL_LENGTH | number | id_token_hint yerine logout_hint kullanılmadan önceki maksimum çıkış URL'si uzunluğu. Varsayılan: 2000. | # OPENID_MAX_LOGOUT_URL_LENGTH=2000 |
| OPENID_AUTO_REDIRECT | boolean | OpenID sağlayıcısına otomatik olarak yönlendirilip yönlendirilmeyeceği. | OPENID_AUTO_REDIRECT=true |
| OPENID_USE_PKCE | boolean | OpenID kimlik doğrulaması için PKCE (Proof Key for Code Exchange) kullanın. İstemci gizli anahtarı (client secret) olmayan genel istemciler için OPENID_CLIENT_SECRET değerini boş bırakın ve bunu true olarak ayarlayın. | # OPENID_USE_PKCE=true |
| OPENID_POST_LOGOUT_REDIRECT_URI | string | OpenID çıkışından sonraki yönlendirme URI'si. Varsayılan değer ${DOMAIN_CLIENT}/login şeklindedir. | # OPENID_POST_LOGOUT_REDIRECT_URI= |
| OPENID_CLOCK_TOLERANCE | number | Token doğrulama için saniye cinsinden saat toleransı. Varsayılan: 300. | # OPENID_CLOCK_TOLERANCE=300 |
| OPENID_GENERATE_NONCE | boolean | OpenID istemcisini bir nonce parametresi oluşturmaya zorlar. AWS Cognito (özellikle federasyon ile) ve Authentik gibi bazı kimlik sağlayıcılar tarafından gereklidir. | OPENID_GENERATE_NONCE=true |
| DEBUG_OPENID_REQUESTS | boolean | OpenID istek başlıklarının ayrıntılı günlüğe kaydedilmesini etkinleştirin. Devre dışı bırakıldığında (varsayılan), hata ayıklama düzeyinde yalnızca istek URL'leri günlüğe kaydedilir. Etkinleştirildiğinde, kimlik doğrulama sorunlarının daha derinlemesine hata ayıklaması için istek başlıkları da (hassas veriler maskelenmiş olarak) günlüğe kaydedilir. | DEBUG_OPENID_REQUESTS=false |
| OPENID_USERNAME_CLAIM | string | Kullanıcının kullanıcı adı olarak saklanacak OpenID sağlayıcısından gelen kullanıcı bilgisi özelliği. | OPENID_USERNAME_CLAIM= |
| OPENID_NAME_CLAIM | string | Kullanıcının görünen adı olarak kaydedilecek OpenID sağlayıcısından gelen kullanıcı bilgisi özelliği. | OPENID_NAME_CLAIM= |
| OPENID_EMAIL_CLAIM | string | Kullanıcı eşleştirme için e-posta/tanımlayıcı olarak kullanılacak kullanıcı bilgisi talebi (örneğin, Entra ID için "upn"). Ayarlanmadığında varsayılan olarak şunları kullanır: email → preferred_username → upn. | OPENID_EMAIL_CLAIM= |
OpenID rol senkronizasyonu
OPENID_ROLE_SYNC_CLAIM, rol senkronizasyonu etkinleştirildiğinde gereklidir.
OPENID_ROLE_SYNC_API_ENABLED=true ayarı ayrıca OPENID_ROLE_SYNC_ENABLED=true olmasını gerektirir. Genel rol senkronizasyonu ADMIN ataması yapamaz; yönetici yetkisi yükseltme için OPENID_ADMIN_ROLE kullanın.
OpenID Connect Belirteç Yeniden Kullanımı
LibreChat, kullanıcı kimlik doğrulama durumunu yönetmek için OpenID Connect sağlayıcınız (Azure Entra ID veya Auth0 gibi) tarafından verilen erişim ve yenileme belirteçlerinin (access and refresh tokens) yeniden kullanılmasını destekler. Bu özellik etkinleştirildiğinde, kullanıcıya çerez olarak iletilen yenileme belirteci, LibreChat yerine OpenID sağlayıcınız tarafından verilir.
| Key | Type | Description | Example |
|---|---|---|---|
| OPENID_REUSE_TOKENS | boolean | Oturum yönetimi için OpenID sağlayıcı belirteçlerinin yeniden kullanımını etkinleştirin. | OPENID_REUSE_TOKENS=false |
| OPENID_SCOPE | string | Boşlukla ayrılmış OpenID kapsamları listesi. Token yeniden kullanımı için offline_access içermelidir. | OPENID_SCOPE=api://librechat/.default openid profile email offline_access |
| OPENID_AUDIENCE | string | OpenID JWT doğrulama ve yetkilendirme istekleri için Audience değeri. JWT doğrulaması için virgülle ayrılmış değerler kabul edilir; yetkilendirme istekleri ilk boş olmayan değeri kullanır. OPENID_REUSE_TOKENS=true olduğunda Auth0 için gereklidir. Yukarıdaki ana OpenID bölümündeki nota bakın. | OPENID_AUDIENCE=https://api.librechat.com |
| OPENID_REUSE_MAX_SESSION_AGE_MS | number | LibreChat'in bir IdP yenilemesini zorunlu kılmadan önce yeniden kullanılan bir OpenID oturum belirtecinin sunulduğu maksimum süre. Varsayılan: 900000 ms / 15 dakika. | OPENID_REUSE_MAX_SESSION_AGE_MS=900000 |
| OPENID_JWKS_URL_CACHE_ENABLED | boolean | İmza anahtarı doğrulama sonuçlarının önbelleğe alınmasını etkinleştirin. | OPENID_JWKS_URL_CACHE_ENABLED=true |
| OPENID_JWKS_URL_CACHE_TIME | number | Milisaniye cinsinden önbellek süresi (varsayılan: 600000 ms / 10 dakika). | OPENID_JWKS_URL_CACHE_TIME=600000 |
| OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED | boolean | Kullanıcı bilgileri için on-behalf-of akışını etkinleştir. | OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED=true |
| OPENID_ON_BEHALF_FLOW_USERINFO_SCOPE | string | Adına hareket etme (on-behalf-of) akışında kullanıcı bilgisi kapsamı. | OPENID_ON_BEHALF_FLOW_USERINFO_SCOPE=user.read |
| OPENID_USE_END_SESSION_ENDPOINT | boolean | Oturumu kapatmak için end session endpoint kullanımını etkinleştirin. | OPENID_USE_END_SESSION_ENDPOINT=true |
| OPENID_MAX_LOGOUT_URL_LENGTH | number | logout_hint'e geçmeden önceki maksimum çıkış URL'si uzunluğu (karakter cinsinden). id_token_hint sunucu sınırlarını aştığında URI çok uzun hatalarını önlemek için kullanışlıdır. Varsayılan: 2000. | OPENID_MAX_LOGOUT_URL_LENGTH=2000 |
OPENID_REUSE_MAX_SESSION_AGE_MS, SESSION_EXPIRY gibi aritmetik ifadeleri kabul eder. Sağlayıcınız yenileme sırasında önceki erişim belirtecini (access token) iptal ettiğinde, MCP sunucuları gibi alt tüketicilerin hala geçerli olan bir taşıyıcı belirteci (bearer token) kullanmayı tamamlayabilmesi için bu değeri IdP erişim belirteci ömrüne doğru artırın.
Not
Ayrıntılı yapılandırma adımları ve ön koşullar için Re-use OpenID Tokens for Login Session bölümüne bakın.
Microsoft Graph API / Entra ID Entegrasyonu
Azure Entra ID'yi (eski adıyla Azure AD) OpenID sağlayıcınız olarak kullanırken, izinler ve paylaşım sistemi dahilinde gelişmiş kişi ve grup arama özellikleri için ek Microsoft Graph API özelliklerini etkinleştirebilirsiniz.
| Key | Type | Description | Example |
|---|---|---|---|
| USE_ENTRA_ID_FOR_PEOPLE_SEARCH | boolean | İzinler/paylaşım sisteminde Entra ID kişi arama entegrasyonunu etkinleştirin. Etkinleştirildiğinde, kişi seçici hem yerel veritabanında hem de Entra ID üzerinde arama yapacaktır. | USE_ENTRA_ID_FOR_PEOPLE_SEARCH=false |
| ENTRA_ID_INCLUDE_OWNERS_AS_MEMBERS | boolean | Etkinleştirildiğinde, Entra ID grup sahipleri grubun üyeleri olarak kabul edilecektir. | ENTRA_ID_INCLUDE_OWNERS_AS_MEMBERS=false |
| OPENID_GRAPH_SCOPES | string | Kişi/grup araması için gereken Microsoft Graph API kapsamları. Varsayılan kapsamlar, kullanıcı profillerine ve grup üyeliklerine erişim sağlar. | OPENID_GRAPH_SCOPES=User.Read,People.Read,GroupMember.Read.All,User.ReadBasic.All |
Önemli Ön Koşullar
- Azure Entra ID'nin OpenID sağlayıcınız olarak yapılandırılmış olması gerekir - OpenID token yeniden kullanımı ETKİNLEŞTİRİLMELİDİR (
OPENID_REUSE_TOKENS=true) - bu özellik bu ayar olmadan çalışmayacaktır - Azure uygulama kaydınızın uygun Microsoft Graph API izinlerine sahip olması gerekir - Grup arama işlevi için, belirli Graph API kapsamları için yönetici onayı gerekebilir
SharePoint Entegrasyonu
LibreChat, SharePoint Online ve OneDrive for Business ile doğrudan entegrasyonu destekleyerek kullanıcıların SharePoint kütüphanelerindeki dosyaları seçip doğrudan sohbetler içinde eklemelerine olanak tanır. Bu kurumsal özellik, mevcut Azure Entra ID kimlik doğrulamasından yararlanır.
| Key | Type | Description | Example |
|---|---|---|---|
| ENABLE_SHAREPOINT_FILEPICKER | boolean | Sohbet ve aracı panellerinde SharePoint dosya seçiciyi etkinleştirin. Etkinleştirildiğinde, dosya ekleme menüsüne "SharePoint'ten" seçeneğini ekler. | ENABLE_SHAREPOINT_FILEPICKER=true |
| SHAREPOINT_BASE_URL | string | SharePoint kiracı temel URL'si. SharePoint entegrasyonu etkinleştirildiğinde gereklidir. | SHAREPOINT_BASE_URL=https://yourtenant.sharepoint.com |
| SHAREPOINT_PICKER_SHAREPOINT_SCOPE | string | Dosya seçici için SharePoint'e özgü OAuth kapsamı. SharePoint dosya seçici arayüzü açılırken kimlik doğrulaması için kullanılır. | SHAREPOINT_PICKER_SHAREPOINT_SCOPE=https://yourtenant.sharepoint.com/AllSites.Read |
| SHAREPOINT_PICKER_GRAPH_SCOPE | string | Dosya indirmeleri için Microsoft Graph API kapsamı. Seçimden sonra SharePoint'ten dosya indirmek için kullanılır. | SHAREPOINT_PICKER_GRAPH_SCOPE=Files.Read.All |
Kritik Gereksinimler
SharePoint entegrasyonunun çalışması için aşağıdakilerin tümü yapılandırılmalıdır:
- Azure Entra ID kimlik doğrulaması tam olarak yapılandırılmış olmalıdır
OPENID_REUSE_TOKENS=truezorunludur (on-behalf-of token akışını kullanır)OPENID_SCOPEifadesi, LibreChat uygulama API kapsamınızı içermelidir; örneğinapi://<client-id>/access_as_user- Azure Entra ID ile bu app-audience kapsamını kullanırken
OPENID_ON_BEHALF_FLOW_FOR_USERINFO_REQUIRED=truegereklidir. - Azure uygulama kaydınızın SharePoint ve Graph API izinlerine sahip olması gerekir
- Azure uygulama kaydınız,
OPENID_SCOPEiçinde kullanılan LibreChat API kapsamını (scope) dışa aktarmalıdır. - Dört SharePoint ortam değişkeninin tamamı ayarlanmalıdır
- Üretim ortamlarında HTTPS gereklidir
Özellik Yetenekleri
Etkinleştirildiğinde, kullanıcılar şunları yapabilir:
- SharePoint belge kitaplıklarından ve OneDrive for Business'tan dosyalara erişebilir
- Aynı anda birden fazla dosya seçebilir (varsayılan maksimum: 10 dosya)
- Gerçek zamanlı indirme ilerlemesini görebilir
- Dosyalar indirilir ve normal yüklemeler gibi konuşmaya eklenir
Ayrıntılı SharePoint yapılandırma talimatları için bkz: SharePoint Integration Guide
SAML
Daha fazla bilgi için:
OpenID ve SAML'in Karşılıklı Dışlanması
OpenID etkinleştirilmişse, SAML kimlik doğrulaması otomatik olarak devre dışı bırakılacaktır.
Aynı anda yalnızca bir kimlik doğrulama yöntemi aktif olabilir.
| Key | Type | Description | Example |
|---|---|---|---|
| SAML_ENTRY_POINT | string | SAML kimlik sağlayıcı (IdP) giriş noktası URL'si. | SAML_ENTRY_POINT= |
| SAML_ISSUER | string | SAML hizmet sağlayıcı (SP) varlık kimliği. | SAML_ISSUER= |
| SAML_CERT | string | Bir dosya yolu veya tek satırlık PEM dizgisi olarak sağlanan SAML imzalama sertifikası. | SAML_CERT= |
| SAML_CALLBACK_URL | string | SAML kimlik doğrulaması için geri çağırma (callback) URL'si. | SAML_CALLBACK_URL=/oauth/saml/callback |
| SAML_SESSION_SECRET | string | SAML oturum depolaması için gizli anahtar. | SAML_SESSION_SECRET= |
| SAML_EMAIL_CLAIM | string | <Optional>: SAML iddiasında kullanıcı e-postasını içeren öznitelik. (varsayılan: email) | SAML_EMAIL_CLAIM= |
| SAML_USERNAME_CLAIM | string | <Optional>: SAML iddiasında kullanıcı adını içeren öznitelik. (varsayılan: username) | SAML_USERNAME_CLAIM= |
| SAML_GIVEN_NAME_CLAIM | string | <Optional>: SAML iddiasında ad bilgisini içeren öznitelik. (varsayılan: given_name) | SAML_GIVEN_NAME_CLAIM= |
| SAML_FAMILY_NAME_CLAIM | string | <Optional>: SAML iddiasında soyadını içeren öznitelik. (varsayılan: family_name) | SAML_FAMILY_NAME_CLAIM= |
| SAML_PICTURE_CLAIM | string | <Optional>: SAML onayında profil resmi URL'sini içeren öznitelik. (varsayılan: picture) | SAML_PICTURE_CLAIM= |
| SAML_NAME_CLAIM | string | <Optional>: SAML iddiasında tam adı içeren öznitelik. | SAML_NAME_CLAIM= |
| SAML_BUTTON_LABEL | string | <Optional>: SAML giriş düğmesi için etiket. | SAML_BUTTON_LABEL= |
| SAML_IMAGE_URL | string | <Optional>: SAML giriş düğmesi görselinin URL'si. | SAML_IMAGE_URL= |
| SAML_USE_AUTHN_RESPONSE_SIGNED | boolean | <Optional>: "true" ise, tüm SAML Yanıtını imzalar. Aksi takdirde, yalnızca Assertion imzalanır (varsayılan). | SAML_USE_AUTHN_RESPONSE_SIGNED= |
LDAP/AD Kimlik Doğrulaması
Daha fazla bilgi için: LDAP/AD Authentication
| Key | Type | Description | Example |
|---|---|---|---|
| LDAP_URL | string | LDAP sunucu URL'si. | LDAP_URL=ldap://localhost:389 |
| LDAP_BIND_DN | string | Bağlama DN | LDAP_BIND_DN=cn=root |
| LDAP_BIND_CREDENTIALS | string | bindDN için parola | LDAP_BIND_CREDENTIALS=password |
| LDAP_USER_SEARCH_BASE | string | LDAP kullanıcı arama tabanı | LDAP_USER_SEARCH_BASE=o=users,o=example.com |
| LDAP_SEARCH_FILTER | string | LDAP arama filtresi | LDAP_SEARCH_FILTER=mail={{username}} |
| LDAP_CA_CERT_PATH | string | CA sertifika yolu. | LDAP_CA_CERT_PATH=/path/to/root_ca_cert.crt |
| LDAP_TLS_REJECT_UNAUTHORIZED | string | LDAP TLS doğrulaması | LDAP_TLS_REJECT_UNAUTHORIZED=true |
| LDAP_STARTTLS | string | Bağlantıyı TLS'ye yükseltmek için LDAP StartTLS'yi etkinleştirin. Bu özelliği etkinleştirmek için true olarak ayarlayın. | LDAP_STARTTLS=true |
| LDAP_LOGIN_USES_USERNAME | boolean | LDAP girişi için e-posta yerine kullanıcı adı kullanın. | # LDAP_LOGIN_USES_USERNAME=true |
| LDAP_ID | string | Benzersiz kullanıcı kimliği için LDAP özniteliği. Varsayılan: uid veya sAMAccountName, mail. | # LDAP_ID=uid |
| LDAP_USERNAME | string | Kullanıcı adı için LDAP özniteliği. Varsayılan: givenName veya mail. | # LDAP_USERNAME=givenName |
| LDAP_EMAIL | string | E-posta için LDAP özniteliği. Varsayılan: mail. | # LDAP_EMAIL=userPrincipalName |
| LDAP_FULL_NAME | string | Tam ad için LDAP özniteliği/öznitelikleri. Virgülle ayrılabilir. Varsayılan: givenName + surname. | # LDAP_FULL_NAME=givenName,surname |
Parola Sıfırlama
E-posta, hesap doğrulama ve şifre sıfırlama işlemleri için kullanılır. LibreChat hem Mailgun API'yi hem de geleneksel SMTP hizmetlerini destekler. Bkz: E-posta kurulumu
Önemli Not: E-postanın çalışması için ya Mailgun'ı (SMTP'yi engelleyen sunucular için önerilir) ya da SMTP'yi yapılandırmanız gerekir.
Uyarı: Mailgun veya SMTP için geçerli değerlerin ayarlanmaması, LibreChat'in güvenli olmayan parola sıfırlama yöntemini kullanmasına neden olacaktır!
Mailgun Yapılandırması (Önerilen)
Mailgun, SMTP portlarını engelleyen sunuculardaki dağıtımlar için özellikle kullanışlıdır. Hem MAILGUN_API_KEY hem de MAILGUN_DOMAIN ayarlandığında, LibreChat SMTP yerine Mailgun kullanacaktır.
| Key | Type | Description | Example |
|---|---|---|---|
| MAILGUN_API_KEY | string | Mailgun API anahtarınız (Mailgun için gereklidir). | MAILGUN_API_KEY= |
| MAILGUN_DOMAIN | string | Mailgun alan adınız (Mailgun için gereklidir). | MAILGUN_DOMAIN=mg.yourdomain.com |
| MAILGUN_HOST | string | Özel Mailgun API ana bilgisayarı (isteğe bağlı). AB bölgesi için https://api.eu.mailgun.net kullanın. | MAILGUN_HOST=https://api.mailgun.net |
| EMAIL_FROM | string | Gönderen e-posta adresi. Zorunlu. | [email protected] |
| EMAIL_FROM_NAME | string | Gönderen adı (ayarlanmazsa varsayılan olarak APP_TITLE kullanılır). | EMAIL_FROM_NAME= |
SMTP Yapılandırması
Mailgun yapılandırılmamışsa, LibreChat SMTP ayarlarına geri dönecektir.
Uyarı:
EMAIL_SERVICEkullanıyorsanız, genişletilmiş bağlantı parametrelerini ayarlamayın: HOST, PORT, ENCRYPTION, ENCRYPTION_HOSTNAME, ALLOW_SELFSIGNED.
Bkz: nodemailer well-known-services
| Key | Type | Description | Example |
|---|---|---|---|
| EMAIL_SERVICE | string | E-posta hizmeti (ör. Gmail, Outlook). | EMAIL_SERVICE= |
| EMAIL_HOST | string | Posta sunucusu ana makinesi. | EMAIL_HOST= |
| EMAIL_PORT | number | Posta sunucusu portu. | EMAIL_PORT=25 |
| EMAIL_ENCRYPTION | string | Şifreleme yöntemi (starttls, tls, vb.). | EMAIL_ENCRYPTION= |
| EMAIL_ENCRYPTION_HOSTNAME | string | Şifreleme için ana bilgisayar adı (hostname). | EMAIL_ENCRYPTION_HOSTNAME= |
| EMAIL_ALLOW_SELFSIGNED | boolean | Kendinden imzalı sertifikalara izin ver. | EMAIL_ALLOW_SELFSIGNED= |
| EMAIL_USERNAME | string | Kimlik doğrulama için kullanıcı adı. | EMAIL_USERNAME= |
| EMAIL_PASSWORD | string | Kimlik doğrulama için parola. | EMAIL_PASSWORD= |
| EMAIL_FROM_NAME | string | Gönderen adı | EMAIL_FROM_NAME= |
| EMAIL_FROM | string | Gönderen e-posta adresi. Zorunlu. | [email protected] |
Firebase CDN
Bkz: Firebase CDN Yapılandırması
Önemli
- Eğer dosya depolama stratejiniz olarak Firebase kullanıyorsanız,
librechat.yamlyapılandırma dosyanızdafileStrategyveyafileStrategiesdeğerinifirebaseolarak ayarlayın.librechat.yamldosyasını yapılandırma hakkında daha fazla bilgi için lütfen YAML Yapılandırma Kılavuzuna bakın: Özel Endpoint'ler & Yapılandırma
| Key | Type | Description | Example |
|---|---|---|---|
| FIREBASE_API_KEY | string | Firebase projeniz için API anahtarı. | FIREBASE_API_KEY= |
| FIREBASE_AUTH_DOMAIN | string | Projeniz için Firebase Auth alanı. | FIREBASE_AUTH_DOMAIN= |
| FIREBASE_PROJECT_ID | string | Firebase projenizin kimliği (ID). | FIREBASE_PROJECT_ID= |
| FIREBASE_STORAGE_BUCKET | string | Projeniz için Firebase Storage bucket'ı. | FIREBASE_STORAGE_BUCKET= |
| FIREBASE_MESSAGING_SENDER_ID | string | Firebase Cloud Messaging gönderici kimliği. | FIREBASE_MESSAGING_SENDER_ID= |
| FIREBASE_APP_ID | string | Projeniz için Firebase Uygulama Kimliği (App ID). | FIREBASE_APP_ID= |
Amazon S3 ve CloudFront
Bkz: Amazon S3 Yapılandırması ve S3 ile CloudFront
Önemli
Dosya depolama stratejiniz olarak S3 kullanıyorsanız, librechat.yaml yapılandırma dosyanızda fileStrategy veya fileStrategies ayarını yapın. CloudFront kullanıyorsanız, depolama kaynağı olarak yine de S3 gereklidir.
| Key | Type | Description | Example |
|---|---|---|---|
| AWS_ACCESS_KEY_ID | string | IAM kullanıcı erişim anahtarı kimliğiniz. IRSA kullanılıyorsa isteğe bağlıdır. | AWS_ACCESS_KEY_ID=your_access_key_id |
| AWS_SECRET_ACCESS_KEY | string | IAM kullanıcı gizli erişim anahtarınız. IRSA kullanılıyorsa isteğe bağlıdır. | AWS_SECRET_ACCESS_KEY=your_secret_access_key |
| AWS_REGION | string | S3 paketinizin bulunduğu AWS bölgesi. | AWS_REGION=us-east-1 |
| AWS_BUCKET_NAME | string | Dosya depolama için S3 bucket adı. | AWS_BUCKET_NAME=your_bucket_name |
| AWS_ENDPOINT_URL | string | Özel AWS endpoint URL'si (isteğe bağlı). S3 uyumlu hizmetler için. https://a7g8.da.idrivee2-32.com gibi URL şemasını dahil edin. | # AWS_ENDPOINT_URL=https://your_endpoint_url |
| AWS_FORCE_PATH_STYLE | boolean | Yol stili URL'ler gerektiren S3 uyumlu sağlayıcılar (örneğin MinIO, Hetzner, Backblaze B2) için true olarak ayarlayın. AWS S3 için gerekli değildir. Varsayılan: false. | # AWS_FORCE_PATH_STYLE=false |
| CLOUDFRONT_KEY_PAIR_ID | string | CloudFront ortak anahtar çifti kimliği. İmzalı çerezler ve imzalı CloudFront indirme URL'leri için gereklidir. | # CLOUDFRONT_KEY_PAIR_ID=K1234567890ABC |
| CLOUDFRONT_PRIVATE_KEY | string | CloudFront özel anahtarı PEM. İmzalı çerezler ve imzalı CloudFront indirme URL'leri için gereklidir. Bu gizli anahtarı eklerken PEM satır sonlarını koruyun. | # CLOUDFRONT_PRIVATE_KEY="-----BEGIN RSA PRIVATE KEY-----\n...\n-----END RSA PRIVATE KEY-----" |
Not: Kubernetes dağıtımları için (örneğin EKS üzerinde), açık kimlik bilgileri sağlamak yerine IRSA (IAM Roles for Service Accounts) kullanabilirsiniz. Bu durumda, yalnızca
AWS_REGIONveAWS_BUCKET_NAMEgereklidir.
Azure Blob Storage CDN
Bkz: Azure Blob Storage CDN Yapılandırması
Önemli
Azure Blob Storage'ı dosya depolama stratejiniz olarak kullanıyorsanız, librechat.yaml yapılandırma dosyanızda fileStrategy veya fileStrategies değerini azure_blob olarak ayarlayın.
| Key | Type | Description | Example |
|---|---|---|---|
| AZURE_STORAGE_CONNECTION_STRING | string | Azure Blob Storage bağlantı dizesi. Bunu VEYA Yönetilen Kimlik için AZURE_STORAGE_ACCOUNT_NAME kullanın. | AZURE_STORAGE_CONNECTION_STRING=DefaultEndpointsProtocol=https;AccountName=... |
| AZURE_STORAGE_ACCOUNT_NAME | string | Azure Storage hesap adı. Yönetilen Kimlik (Managed Identity) kimlik doğrulaması için kullanın (bağlantı dizesini ayarlamayın). | # AZURE_STORAGE_ACCOUNT_NAME=yourAccountName |
| AZURE_STORAGE_PUBLIC_ACCESS | boolean | Bloblar için genel erişimi etkinleştirin. Varsayılan: false. | AZURE_STORAGE_PUBLIC_ACCESS=false |
| AZURE_CONTAINER_NAME | string | Dosya depolama için kapsayıcı adı. Varsayılan: files. | AZURE_CONTAINER_NAME=files |
Not:
AZURE_STORAGE_CONNECTION_STRING(Seçenek A) veya Yönetilen Kimlik (Managed Identity) ileAZURE_STORAGE_ACCOUNT_NAME(Seçenek B) seçeneklerinden birini kullanın, ikisini birden kullanmayın.
Arayüz
Yardım ve SSS Düğmesi
| Key | Type | Description | Example |
|---|---|---|---|
| HELP_AND_FAQ_URL | string | Yardım ve SSS URL'si. Boş veya yorum satırı halindeyse buton etkindir. Yardım ve SSS butonunu devre dışı bırakmak için "/" olarak ayarlayın. | HELP_AND_FAQ_URL=https://librechat.ai |
Davranış:
Statik dosyalar için Cache-Control başlıklarını ayarlar. Bu yapılandırmalar yalnızca NODE_ENV değeri production olarak ayarlandığında tetiklenir.
Önbellek başlıklarını doğru bir şekilde ayarlamak, web uygulamanızın performansını ve verimliliğini optimize etmek için çok önemlidir. Tarayıcıların ve CDN'lerin statik dosyalarınızın kopyalarını ne kadar süre saklayacağını kontrol ederek, sunucu yükünü önemli ölçüde azaltabilir, sayfa yükleme sürelerini kısaltabilir ve genel kullanıcı deneyimini iyileştirebilirsiniz.
- Statik dosyalar için
max-agedeğerini değiştirmek üzereSTATIC_CACHE_MAX_AGEsatırının yorum işaretini kaldırın. Bu değer varsayılan olarak 4 haftaya ayarlıdır. - Statik dosyalar için
s-maxagedeğerini değiştirmek üzereSTATIC_CACHE_S_MAX_AGEsatırının yorum işaretini kaldırın. Bu değer varsayılan olarak 1 haftaya ayarlanmıştır.- Bu, CDN'ler ve vekiller (proxies) tarafından kullanılan paylaşılan önbellek (shared cache) içindir.
Uygulama Başlığı ve Alt Bilgi
| Key | Type | Description | Example |
|---|---|---|---|
| APP_TITLE | string | Uygulama başlığı. | APP_TITLE=LibreChat |
| CUSTOM_FOOTER | string | Özel alt bilgi. | # CUSTOM_FOOTER="My custom footer" |
| TEMP_CHAT_RETENTION_HOURS | number | **Kullanımdan kaldırıldı:** Bunun yerine librechat.yaml içinde `interface.temporaryChatRetention` kullanın. Geçici sohbetlerin tutulacağı saat süresi. Varsayılan: 720 (30 gün). | # TEMP_CHAT_RETENTION_HOURS=168 |
Davranış:
- Özel bir alt bilgi eklemek için
CUSTOM_FOOTERsatırının yorum işaretini kaldırın. - Alt bilgiyi kaldırmak için
CUSTOM_FOOTERsatırının yorum işaretini kaldırın ve içeriğini boş bırakın. - You can now add one or more links in the CUSTOM_FOOTER value using the following format:
[Anchor text](URL). Each link should be delineated with a pipe (|).
Markdown örneği:
CUSTOM_FOOTER=[Link 1](http://example1.com) | [Link 2](http://example2.com)
Doğum Günü Şapkası
| Key | Type | Description | Example |
|---|---|---|---|
| SHOW_BIRTHDAY_ICON | boolean | Doğum günü şapkası simgesini göster. | # SHOW_BIRTHDAY_ICON=true |
Davranış:
- Doğum günü şapkası simgesi 11 Şubat'ta (LibreChat'in doğum günü) otomatik olarak görünecektir.
- Doğum günü şapkasını devre dışı bırakmak için
SHOW_BIRTHDAY_ICONdeğerinifalseolarak ayarlayın. SHOW_BIRTHDAY_ICONdeğerinitrueolarak ayarlayarak doğum günü şapkasını her zaman etkinleştirin.
Analitik
Google Tag Manager
LibreChat, analizler için Google Tag Manager desteği sunar. LibreChat içinde bunu etkinleştirmek için bir Google Tag Manager kimliğine ihtiyacınız olacaktır. Bir Google Tag Manager kimliği oluşturmak ve Google Analytics'i yapılandırmak için bu kılavuzu takip edin. Ardından ANALYTICS_GTM_ID ortam değişkenini Google Tag Manager kimliğinize ayarlayın.
Not: ANALYTICS_GTM_ID ayarlanmamışsa, Google Tag Manager etkinleştirilmeyecektir. Yanlış ayarlanırsa, gtm.js dosyasına yönelik başarısız istekler görürsünüz.
| Key | Type | Description | Example |
|---|---|---|---|
| ANALYTICS_GTM_ID | string | Google Tag Manager Kimliği. | ANALYTICS_GTM_ID= |
Sohbet İçe Aktarma
Bellek sorunlarını önlemek için sohbet dosyası içe aktarma sınırlarını yapılandırın.
| Key | Type | Description | Example |
|---|---|---|---|
| CONVERSATION_IMPORT_MAX_FILE_SIZE_BYTES | number | Sohbet içe aktarımları için bayt cinsinden maksimum dosya boyutu. Varsayılan: 0 (sınır uygulanmaz). Örnek: 262144000 (250 MiB). | # CONVERSATION_IMPORT_MAX_FILE_SIZE_BYTES=262144000 |
Satır İçi Dosya Önizlemeleri
LibreChat'in satır içi önizleme çıkarmayı atlayıp dosyaları yalnızca indirilebilir bırakmadan önce oluşturulan dosyaların ne kadar büyük olabileceğini kontrol edin.
| Key | Type | Description | Example |
|---|---|---|---|
| FILE_PREVIEW_MAX_EXTRACT_BYTES | number | Kod yürütme yapısı satır içi önizlemeleri için bayt cinsinden maksimum kaynak dosyası boyutu. Varsayılan: 2097152 (2 MiB). Oluşturulan HTML önizlemeleri ayrıca ayrı olarak sınırlandırılmıştır, bu nedenle çok zengin dosyalar bu değerin altında kalsalar bile önizlemeyi atlayabilirler. | # FILE_PREVIEW_MAX_EXTRACT_BYTES=2097152 |
MCP (Model Context Protocol)
Gelişmiş sunucu yönetimi ve OAuth desteği için Model Context Protocol ayarlarını yapılandırın.
MCP Sunucu Yapılandırması
| Key | Type | Description | Example |
|---|---|---|---|
| MCP_OAUTH_ON_AUTH_ERROR | boolean | OAuth meta verisi bulunamadığında 401/403 yanıtlarını OAuth gereksinimi olarak ele al. | MCP_OAUTH_ON_AUTH_ERROR=true |
| MCP_OAUTH_DETECTION_TIMEOUT | number | OAuth algılama istekleri için milisaniye cinsinden zaman aşımı süresi. | MCP_OAUTH_DETECTION_TIMEOUT=5000 |
| MCP_OAUTH_HANDLING_TIMEOUT | number | LibreChat'in bir kullanıcının MCP OAuth akışını tamamlamasını bekleme süresi. Varsayılan: 600000 ms (10 dakika). | MCP_OAUTH_HANDLING_TIMEOUT=600000 |
| MCP_OAUTH_FLOW_TTL | number | MCP OAuth akış durumunun ne kadar süreyle tutulacağı. LibreChat, bunu MCP_OAUTH_HANDLING_TIMEOUT değerinin üzerinde tutarak süre sonuna yakın geri çağırmaların tamamlanabilmesini sağlar. Varsayılan: 900000 ms (15 dakika). | MCP_OAUTH_FLOW_TTL=900000 |
| MCP_CONNECTION_CHECK_TTL | number | Pahalı doğrulamalardan kaçınmak için önbellek bağlantı durumu kontrollerini bu kadar milisaniye boyunca tutun. | MCP_CONNECTION_CHECK_TTL=30000 |
| MCP_TOOLS_LIST_MAX_PAGES | number | Bir MCP sunucusu araç listesini sayfalara böldüğünde (imleç tabanlı sayfalama) talep edilecek maksimum araç/liste sayfası sayısı. Hatalı bir sunucunun araç keşfini durdurmasını engellemek için sayfalama döngüsünü sınırlar. Minimum 1 olacak şekilde sabitlenmiştir. Varsayılan: 50. | MCP_TOOLS_LIST_MAX_PAGES=50 |
| MCP_SKIP_CODE_CHALLENGE_CHECK | boolean | Kod doğrulama yöntemi denetimini atla. true olarak ayarlandığında, .well-known/openid-configuration içinde belirtilmese bile S256 kod doğrulamasını zorunlu kılar | MCP_SKIP_CODE_CHALLENGE_CHECK=false |
| MCP_STREAMABLE_HTTP_MAX_RESPONSE_BYTES | number | Reddedilmeden önce GET olmayan stream edilebilir bir HTTP MCP yanıtında izin verilen maksimum bayt sayısı. Devre dışı bırakmak için 0 olarak ayarlayın. Varsayılan: 16777216 (16 MiB). | # MCP_STREAMABLE_HTTP_MAX_RESPONSE_BYTES=16777216 |
| MCP_STREAMABLE_HTTP_MAX_LINE_BYTES | number | GET olmayan stream edilebilir HTTP MCP yanıtları için bir SSE satırında izin verilen maksimum bayt sayısı. Devre dışı bırakmak için 0 olarak ayarlayın. Varsayılan: 5242880 (5 MiB). | # MCP_STREAMABLE_HTTP_MAX_LINE_BYTES=5242880 |
Diğer
Redis
Redis, LibreChat için önemli performans iyileştirmeleri sağlar ve yatay ölçeklendirme yeteneklerini mümkün kılar.
Not: Redis desteği deneyseldir ve kullanırken bazı sorunlarla karşılaşabilirsiniz.
Önemli: Redis kullanıyorsanız, herhangi bir LibreChat ayarını değiştirdikten sonra önbelleği temizlemelisiniz.
Ayrıntılı yapılandırma ve örnekler için bkz: Redis Configuration Guide
| Key | Type | Description | Example |
|---|---|---|---|
| USE_REDIS | boolean | Önbelleğe alma ve oturum depolama için Redis'i etkinleştirin. true olduğunda, REDIS_URI sağlanmalıdır. | USE_REDIS=true |
| USE_REDIS_STREAMS | boolean | Devam ettirilebilir LLM akışları için Redis'i etkinleştirin. Ayarlanmadığı takdirde varsayılan olarak USE_REDIS değerini kullanır. Akışlar için bellek içi depolama kullanmak üzere false olarak ayarlayın. | # USE_REDIS_STREAMS=true |
| REDIS_URI | string | Redis bağlantı URI'si. Tek örnek için: `redis://host:port`. Küme için: virgülle ayrılmış URI'ler. | REDIS_URI=redis://127.0.0.1:6379 |
| USE_REDIS_CLUSTER | boolean | Tek bir URI kullanırken Redis küme modunu etkinleştirin | # USE_REDIS_CLUSTER="true" |
| REDIS_CLUSTER_SAFE_DELETE | boolean | Dahili olarak anahtarları parçalayan tek uç noktalı yönetilen Redis hizmetlerinde CROSSSLOT hatalarını önlemek için Redis önbellek anahtarlarını tek tek silin. | # REDIS_CLUSTER_SAFE_DELETE=true |
| REDIS_USERNAME | string | Kimlik doğrulama için Redis kullanıcı adı. Her ikisi de sağlandığında URI içindeki kullanıcı adını geçersiz kılar. | # REDIS_USERNAME=your_redis_username |
| REDIS_PASSWORD | string | Kimlik doğrulama için Redis parolası. Her ikisi de sağlandığında URI içindeki parolayı geçersiz kılar. | # REDIS_PASSWORD=your_redis_password |
| REDIS_CA | string | rediss:// protokolü kullanılırken TLS doğrulaması için CA sertifikasına giden yol. | # REDIS_CA=/path/to/ca-cert.pem |
| REDIS_KEY_PREFIX | string | Çapraz dağıtım kirlenmesini önlemek için tüm Redis anahtarları için statik önek. | # REDIS_KEY_PREFIX=librechat-prod-v2 |
| REDIS_KEY_PREFIX_VAR | string | Dinamik önek içeren ortam değişkeni adı (örneğin, Cloud Run için K_REVISION). REDIS_KEY_PREFIX ile birlikte kullanılamaz. | # REDIS_KEY_PREFIX_VAR=K_REVISION |
| REDIS_MAX_LISTENERS | number | Redis istemcisi başına maksimum olay dinleyicisi. Bellek sızıntılarını önler. Varsayılan: 40. | # REDIS_MAX_LISTENERS=40 |
| REDIS_PING_INTERVAL | number | Bağlantıları sürdürmek için saniye cinsinden ping aralığı. Varsayılan: 0 (devre dışı). Yalnızca zaman aşımı sorunları yaşıyorsanız ayarlayın. | # REDIS_PING_INTERVAL=300 |
| FORCED_IN_MEMORY_CACHE_NAMESPACES | string | Redis etkinleştirildiğinde bile bellek içi depolamayı zorunlu kılacak virgülle ayrılmış önbellek anahtarları. | # FORCED_IN_MEMORY_CACHE_NAMESPACES=ROLES,MESSAGES |
| REDIS_USE_ALTERNATIVE_DNS_LOOKUP | boolean | AWS Elasticache ile TLS bağlantıları için alternatif dnsLookup özelliğini etkinleştirin. TLS özellikli Elasticache kümeleri için gereklidir. | # REDIS_USE_ALTERNATIVE_DNS_LOOKUP=true |
Notlar:
USE_REDIS=trueolduğunda,REDIS_URIsağlamanız gerekir, aksi takdirde uygulama bir hata verecektir.- Redis Cluster modu için birden fazla URI sağlayın:
redis://node1:7001,redis://node2:7002,redis://node3:7003(cluster modu otomatik olarak algılanır). - Dahili olarak anahtarları parçalayan (shard) tek uç noktalı yönetilen Redis hizmetleri için
USE_REDIS_CLUSTER=falseayarını koruyun ve önbellek temizleme işlemleriCROSSSLOThatalarıyla başarısız olursaREDIS_CLUSTER_SAFE_DELETE=trueolarak ayarlayın. - TLS bağlantıları için
rediss://protokolünü kullanın ve CA'niz herkese açık olarak güvenilir değilseREDIS_CAayarını yapın. REDIS_KEY_PREFIX_VARveREDIS_KEY_PREFIXbirbirini dışlayan değişkenlerdir.- AWS Elasticache ve TLS: Elasticache, TLS bağlantıları için alternatif bir dnsLookup kullanılmasına ihtiyaç duyabilir. TLS ile Elasticache kullanıyorsanız
REDIS_USE_ALTERNATIVE_DNS_LOOKUP=trueolarak ayarlayın. Daha fazla ayrıntı için ioredis documentation sayfasına bakın.
Lider Seçimi
Redis ile çoklu örnek dağıtımları için dağıtık lider seçimi yapılandırın. Lider seçimi, yalnızca bir örneğin zamanlanmış görevler gibi belirli işlemleri gerçekleştirmesini sağlar.
| Key | Type | Description | Example |
|---|---|---|---|
| LEADER_LEASE_DURATION | number | Lider kirasının sona ermeden önce geçerli olduğu saniye cinsinden süre. Varsayılan: 25. | LEADER_LEASE_DURATION=25 |
| LEADER_RENEW_INTERVAL | number | Liderin kira süresini yenileme aralığı (saniye cinsinden). Varsayılan: 10. | LEADER_RENEW_INTERVAL=10 |
| LEADER_RENEW_ATTEMPTS | number | Kiralama yenileme başarısız olduğunda yapılacak maksimum yeniden deneme sayısı. Varsayılan: 3. | LEADER_RENEW_ATTEMPTS=3 |
| LEADER_RENEW_RETRY_DELAY | number | Kira yenilenirken yeniden deneme girişimleri arasındaki saniye cinsinden gecikme. Varsayılan: 0.5. | LEADER_RENEW_RETRY_DELAY=0.5 |
Notlar:
- Lider seçimi, Redis'in etkinleştirilmesini (
USE_REDIS=true) gerektirir. - Bu ayarlar yalnızca çok örnekli (multi-instance) dağıtımlar için geçerlidir.
- Liderlik kiralaması, liderliği korumak için sona ermeden önce yenilenmelidir.
- Kira yenileme maksimum denemeden sonra başarısız olursa, örnek liderliği bırakacaktır.
Bu rehber nasıl?