Ana içeriğe geç

Ortam Değişkenleri

Geçerli arka uç, ön yüz ve bakım betiklerinin okuduğu işletmeci değişkenleri burada listelenir. Yalnız teste özel canary değerleri bilinçli olarak yoktur.

Arka Uç Sunucusu​

DeğişkenVarsayılanAmaç
NODE_ENVdevelopmentÇalışma modu
PORTgeliştirmede 3001, üretimde 8080HTTP portu
TRUST_PROXYayarsız (Helm’de 0)Güvenilir reverse proxy atlama sayısı
CORS_ORIGINyerel geliştirme kökenleriVirgülle ayrılmış tam tarayıcı kökenleri; * her geçerli kökene izin verir
SERVE_FRONTENDayarsıztrue derlenmiş ön yüzü sunar
DOCKER_ENVayarsıztrue Docker davranışını açar
DATA_DIRbackend/data; paketli CLI’da ~/.libre-webuiKalıcı veri dizini
PLATFORM_PREFLIGHT_TMP_DIRbackend/temp/preflight; CLI’da kullanıcı önbelleğiBaşlangıç DB/WAL inceleme alanı
PLUGIN_UPLOAD_TEMP_DIRişletim sistemi temp altında libre-webui-plugin-uploadsEklenti yükleme geçici alanı
PLUGINS_DIR$DATA_DIR/pluginsYazılabilir eklenti dizini
BASE_URLhttp://localhost:3001OAuth callback varsayılanı
LOG_LEVELinfo (testte warn)Günlük düzeyi
LOG_FORMATtextjson yapılandırılmış tek satır günlük
OTEL_EXPORTER_OTLP_ENDPOINTayarsızİsteğe bağlı OTLP/HTTP JSON dışa aktarımı
OTEL_EXPORTER_OTLP_HEADERSayarsızKolektöre virgülle key=value başlıkları
OTEL_SERVICE_NAMElibre-webuiTelemetri service.name niteliği
WEBUI_HOSTloopback; Docker’da 0.0.0.0HTTP dinleme adresi
OPEN_BROWSERön yüz sunulurken truefalse otomatik tarayıcıyı engeller
FULL_DOCUMENT_CONTEXT_MAX_TOKENS32000Tam belge bağlamı 1000–2000000
GALLERY_RETENTION_DAYSayarsız, sonsuza kadarEski galeri medyasını silme
RECOVERY_DRILL_INTERVAL_HOURSayarsız, kapalıSolo’da her N saatte kurtarma tatbikatı
RECOVERY_DRILL_HISTORY60Saklanan tatbikat geçmişi

CORS_ORIGIN girdileri serileştirilmiş tarayıcı kökenleriyle eşleşir: şema, ana makine adı ve isteğe bağlı bağlantı noktası; yol, kimlik bilgileri, sorgu veya parça olmadan. İstekler tek bir kanonik köken taşımalıdır; hatalı değerler ve köken listeleri CORS_ORIGIN=* ile bile reddedilir. Origin göndermeyen istemcilere izin verilmeye devam edilir. Opak köken null, açık bir null girdisi veya * gerektirir.

Docker’da (DOCKER_ENV=true) ve üretim dışı modlarda, HTTP(S) kökenleri için tam localhost ile 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16 ve 100.64.0.0/10 içindeki değişmez IPv4 adresleri de kabul edilir. localhost.attacker.example gibi yalnızca bu dizelerle başlayan ana makine adları yerel adres değildir. IPv6 kökenleri açık bir girdi veya * gerektirir; ağ istisnasına otomatik olarak dahil edilmez. Yerel üretim dağıtımları yalnızca açık köken listesini veya joker karakteri kullanır. CORS, API’nin bearer token kimlik doğrulamasının yerini almaz.

Kaynak başlatma göreli DATA_DIR, PLUGINS_DIR, PLATFORM_PREFLIGHT_TMP_DIR değerlerini kabuktan bağımsız backend dizinine bağlar. DATA_DIR=./data → backend/data, eski DATA_DIR=./backend/data → backend/backend/data; yalnız durdurma, yedekleme ve bilinçli geçişle değiştirin. İki yerde durum varsa başlangıç tahmin, kopya veya birleştirme yerine güvenli kapanır.

npx, global npm ve Homebrew ~/.libre-webui kullanır; açık göreli yollar çağıranın dizininden mutlağa çevrilir. Önbellek macOS’ta ~/Library/Caches/libre-webui, Windows’ta %LOCALAPPDATA%\libre-webui, diğerlerinde ${XDG_CACHE_HOME:-~/.cache}/libre-webui; Homebrew var/libre-webui/preflight, Docker/Helm /app/backend/data ve /app/backend/temp/preflight kullanır. Veritabanı + WAL sığmıyorsa PLATFORM_PREFLIGHT_TMP_DIR ayarlayın.

Platform Temeli​

solo: SQLite, yerel şifreli blob/gömülü vektör, yerel koordinasyon ve gömülü worker. team: PostgreSQL, özel S3, PGVector, Redis ve dış worker. Kısmi ortak bağımlılıklar reddedilir.

DeğişkenVarsayılanAmaç
LIBRE_PLATFORM_MODEsolosolo veya team
DATABASE_BACKENDsqlitesqlite veya postgres
DATABASE_URLayarsızPostgreSQL URL’si
DATABASE_SSL_MODEverify-fulldisable, require, verify-full
POSTGRES_MIGRATION_MODEapplyKilit altında uygula veya salt okunur validate
POSTGRES_POOL_MAX10Süreç başına bağlantı, 1–100
POSTGRES_CONNECT_TIMEOUT_MS50001–60000 ms
POSTGRES_IDLE_TIMEOUT_MS300001–600000 ms
POSTGRES_STATEMENT_TIMEOUT_MS300001–600000 ms
POSTGRES_MIGRATION_LOCK_TIMEOUT_MS600001–600000 ms
BLOB_STORE_BACKENDlocalŞifreli local veya özel s3
VECTOR_STORE_BACKENDSQLite ile embeddedembedded veya pgvector
COORDINATION_BACKENDsolo’da local, team’de redisYerel veya Redis koordinasyonu
REDIS_URLayarsızredis: veya rediss: URL
REDIS_KEY_PREFIXlibre1–64 karakter anahtar ad alanı
REDIS_CONNECT_TIMEOUT_MS5000En çok 60 saniye
JOB_WORKER_MODEsolo’da embedded, team’de externalUygulama veya dış worker
RESOURCE_LEASE_TTL_MS300005000–300000 kira TTL
JOB_WORKER_CONCURRENCY41–32 eşzamanlı iş
CHAT_STREAM_EVENT_RETENTION_HOURS24Sohbet akış olayı saatleri
PLATFORM_EVENT_RETENTION_DAYS30Kalıcı olay günleri
PLATFORM_JOB_RETENTION_DAYS30Bitmiş iş günleri
LIBRE_SKIP_STARTUP_INTEGRITY_SCANayarsız1 sonraki derin eski şifre taramasını atlar
STORAGE_ENCRYPTION_KEYSayarsızENCRYPTION_KEY ile eşleşen legacy içeren JSON
STORAGE_ENCRYPTION_ACTIVE_KEY_IDayarsızYeni blob/vektör yazma anahtarı
BLOB_QUOTA_BYTES_PER_USER10737418240Sahip başına açık blob baytı
BLOB_QUOTA_RESERVATION_TTL_MS3600000Terk edilen rezervasyon, en az 60000 ms
S3_BUCKETayarsızÖzel S3 bucket
S3_REGIONayarsızS3 bölgesi
S3_ENDPOINTsağlayıcı varsayılanıMinIO veya uyumlu mutlak HTTP(S) ucu
S3_ACCESS_KEY_IDSDK kimlik zinciriAçık erişim anahtarı
S3_SECRET_ACCESS_KEYSDK kimlik zinciriAçık erişim anahtarıyla gerekir
S3_SESSION_TOKENayarsızOturum tokenı
S3_FORCE_PATH_STYLEfalseYol biçimli adresleme için true
S3_BLOB_PREFIXlibre/blobsLibre’ye ait saydam olmayan önek

Anahtar haritası yoksa ENCRYPTION_KEY, legacy olarak; o da yoksa ${DATA_DIR}/.encryption_key değiştirilmeden okunur. Açık ayar ve dosya eşleşmelidir. Harita eklenince tüm nesneler yeniden yazılıp doğrulanana kadar eski anahtarı tam legacy ID’siyle koruyun. Çakışma, güvensiz izin, symlink ve eksik anahtar güvenli kapanır.

Redis koordinasyondur, kalıcı gerçek değildir. Tek başına SQLite veya yerel dosyaları kopyalar arasında güvenli yapmaz. Team’de HTTP, Chat/WebSocket, STT/TTS/audio, arşiv içe aktarma ve Work terminal kabulü tüm kopyalarda ortaktır. Hata 503 döndürür veya işlemi keser; yerel geri dönüş yoktur. Bkz. Platform Temeli.

Team Compose/Helm tüm seçicileri uygulama ve worker’a iletir. Helm’de sır olmayanlar env; secrets.redisUrl, secrets.databaseUrl, secrets.storageEncryptionKeys sırdır. En az (replicaCount + worker.replicaCount) * POSTGRES_POOL_MAX bağlantı ve pay ayırın. Uzak PostgreSQL için DATABASE_SSL_MODE=verify-full, özel Compose için disable. Team Helm tek kararlı secrets.jwtSecret ister. S3 yalnız şifreli ve saydam olmayan anahtar alır.

Arşivler havuz/zaman aşımı, Redis, blob kotası, platform seçicileri ve S3 adreslemesini imzalı şifreli yapılandırmada saklar.

Uygulama ve worker aynı OLLAMA_BASE_URL, OLLAMA_TIMEOUT, OLLAMA_LONG_OPERATION_TIMEOUT, OLLAMA_MAX_CONTEXT alır. Yalnız tam pozitif ondalık sayılar geçerlidir; 300000ms, üs, hex, sınır dışı veya standarttan küçük uzun zaman aşımı başlangıcı durdurur.

Helm TRUST_PROXY değerini 0–16 tam sayısıyla sınırlar ve yalnız HTTP Pod’larına yollar; sınırsız true kullanmayın.

PostgreSQL şeması tam sürüm ister. App/worker Recreate kullanır; yükseltmeden önce tüm eski Pod’ları bitirin, bir yeni süreç advisory lock altında geçirir. Karışık sürüm veya sıfır kesinti iddia etmeyin; geri dönüş temiz PostgreSQL/S3’e doğrulanmış yedektir.

Etkin team worker.replicaCount >= 1 ister. Tam askıya alma için app/worker sıfır; app sıfır, worker pozitif yalnız boşaltma/kurtarmadır.

Özel Yedekleme Yardımcısı​

deploy/private/libre-webui-backup betiği şunları okur:

DeğişkenVarsayılanAmaç
LIBRE_WEBUI_STACK_DIR/opt/libre-webuiCompose dizini
LIBRE_WEBUI_BACKUP_DIR/var/backups/libre-webuiYedek dizini
LIBRE_WEBUI_BACKUP_RETENTION_DAYS14Saklama günü
LIBRE_WEBUI_CONTAINER_NAMElibre-webuiKapsayıcı adı
LIBRE_WEBUI_BACKUP_KEY_DIR/etc/libre-webui/backup-keysAnahtar dizini
LIBRE_WEBUI_RESTORE_IMAGErequiredGeri yükleme image’ı
LIBRE_WEBUI_RESTORE_CONFIG_DIR/etc/libre-webui/restoredGeri yüklenen yapılandırma

systemd birimi isteğe bağlı /etc/libre-webui/backup.env okur; root sahibi, 0600 olmalı ve uygulama .env dosyasını okumaz. Özel yedek dizini hizmet drop-in içinde tam ReadWritePaths= ister. Bkz. Özel dağıtım.

Kimlik Doğrulama ve Güvenlik​

İkinci faktör politikası optional veya required olabilir. Web Push kişisi varsayılan mailto:admin@localhost; VAPID_PUBLIC_KEY, VAPID_PRIVATE_KEY, VAPID_SUBJECT push’ı, TURNSTILE_SITE_KEY, TURNSTILE_SECRET_KEY, TURNSTILE_EXPECTED_HOSTNAME Turnstile’ı ayarlar.

Temel değişkenler: varsayılan false olan ENABLE_SIGNUP, JWT_SECRET, varsayılan 7d olan JWT_EXPIRES_IN, ENCRYPTION_KEY, DEBUG_ENCRYPTION, Turnstile, MFA_REQUIRED_MODE, WEBAUTHN_RP_ID, VAPID. ENABLE_SIGNUP=false ilk yöneticiyi yine kabul eder. JWT sid ile bağlıdır. AUDIT_RETENTION_DAYS varsayılan 180. TLS modu require, test log düzeyi warn olabilir.

Genel OIDC Tek Oturum Açma​

Kararlı kullanıcı ID’si sub, gruplar varsayılan groups claim’inden gelir. OIDC_GROUP_CLAIM, OIDC_SYNC_GROUPS eşitlemeyi; OIDC_CALLBACK_URL, OIDC_ALLOWED_EMAIL_DOMAINS, OIDC_ADMIN_GROUPS callback, etki alanı ve yönetici gruplarını ayarlar.

OIDC_ISSUER_URL <issuer>/.well-known/openid-configuration ile, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET gerekir; OIDC_DISPLAY_NAME varsayılan Single Sign-On, OIDC_SCOPES openid profile email. Origin başlığı eşleşmelidir.

WebSocket: CHAT_WS_MAX_PAYLOAD_BYTES 10 MiB, CHAT_WS_MAX_MESSAGES_PER_MINUTE 120, CHAT_WS_MAX_ACTIVE_GENERATIONS_PER_USER 4, CHAT_WS_MAX_CONNECTIONS_PER_USER 5, WEBSOCKET_TICKET_TTL_MS 30000. Bilet tek kullanımlı, köken denetlenir.

OAuth​

GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, GITHUB_CALLBACK_URL, HUGGINGFACE_CLIENT_ID, HUGGINGFACE_CLIENT_SECRET, HUGGINGFACE_CALLBACK_URL; varsayılan callback BASE_URL kullanır.

Ollama​

OLLAMA_BASE_URL varsayılan http://localhost:11434, OLLAMA_TIMEOUT 300000, OLLAMA_LONG_OPERATION_TIMEOUT 900000, OLLAMA_MAX_CONTEXT 32768. DEFAULT_MODEL varsayılan olarak boştur; yeni hesapların kendi seçimlerini yapana kadar kullandığı modeli belirler (CLI’de --model).

Web Araması​

SEARXNG_URL ucu önceden doldurur; yönetici aramayı ayrıca etkinleştirir.

E-posta Bildirimleri​

Bu değişkenler, yöneticilerin **Settings > User Management > Access & policies

Email notifications** altından yönettiği giden posta sunucusunu besler. Orada kaydedilen bir değer, değişkenin önüne geçer; arayüzdeki alanı temizlemek değişkeni geri getirir. E-posta, bir yönetici anahtarı açana kadar kapalı kalır ve her kullanıcı yine de Settings > Notifications altından bildirim türü başına katılım sağlamalıdır.

DeğişkenVarsayılanAmaç
SMTP_HOSTayarsızPosta sunucusunun ana bilgisayar adı
SMTP_PORT587, tls ile 465Posta sunucusu bağlantı noktası
SMTP_SECURITYstarttlsstarttls (düz bağlantıyı yükseltir), tls (örtük TLS) veya none (güvenilir ağ)
SMTP_USERayarsızKimlik doğrulama kullanıcısı; oturum açmadan posta kabul eden bir aktarıcı için boş bırakın
SMTP_PASSWORDayarsızKimlik doğrulama parolası; arayüzde kaydedilen bir parola şifrelenmiş saklanır ve önceliklidir
SMTP_FROMayarsızGönderen, örneğin Libre WebUI <[email protected]>
SMTP_TLS_REJECT_UNAUTHORIZEDtrueYalnızca kendinden imzalı sertifikaya sahip bir aktarıcı için false yapın
BASE_URLayarsızİletilerin içindeki bağlantılar için kullanılan örneğin genel URL'si

Strands motoru​

DeğişkenVarsayılanAmaç
LIBRE_STRANDS_ACCESSayarsız (yönetici ayarı, kapalı)Yerleşik Strands motorunu kimin kullanabileceğini sabitler: disabled, admins veya all-users. Diğer her değer motoru kapalı konumda kilitler

Work Çalışma Zamanı​

Codex evi varsayılan ~/.codex. Varsayılan image node:22.22-bookworm@sha256:2d178f2785b96dfbf62a416ca2e40f50e30150b4ff3320d706f0d96e90600eb3, ağ/ad alanı libre-webui-work, komut/backend docker. Team’de AGENT_CLI_MODELS_ENABLED=false, CODEX_OAUTH_MODELS_ENABLED=false gerekir.

Komut zaman aşımı 120000; diğer varsayılanlar 2, 2, 2, havuz üstü 100, ayrıca 256, 2g, 3, 4173, 48, 500, 50000, 5Gi, 6080, 6081. WORK_RUNTIME_IDLE_TIMEOUT_MS varsayılanı 1800000 (30 dakika).

Tüm Work değişkenleri: WORK_RUNTIME_IMAGE, WORK_DOCKER_COMMAND, WORK_COMMAND_TIMEOUT_MS, WORK_MAX_OUTPUT_CHARS, WORK_MAX_AGENT_ROUNDS, WORK_STATUS_BLURB_MODEL, WORK_MEMORY_LIMIT, WORK_CPU_LIMIT, WORK_PIDS_LIMIT, WORK_PREVIEW_PORT, WORK_PREVIEW_BIND, WORK_DOCKER_PUBLISHED_HOST, WORK_COMPUTER_SCREEN_PORT, WORK_COMPUTER_AUDIO_PORT, WORK_MAX_ACTIVE_RUNTIMES_GLOBAL, WORK_MAX_ACTIVE_RUNTIMES_PER_USER, WORK_MAX_TASKS_GLOBAL, WORK_MAX_TASKS_PER_USER, WORK_NETWORK_NAME, WORK_RUN_LEASE_WAIT_MS, WORK_RUNTIME_DNS, WORK_DOCKER_SOCKET, WORK_TERMINAL_MAX_SESSIONS_PER_TASK, WORK_TERMINAL_IDLE_TIMEOUT_MS, WORK_RUNTIME_IDLE_TIMEOUT_MS, WORK_HOST_WORKSPACES_ENABLED, WORK_HOST_WORKSPACE_ROOTS, WORK_RUNTIME_BACKEND, WORK_K8S_NAMESPACE, WORK_K8S_STORAGE_CLASS, WORK_K8S_WORKSPACE_SIZE, WORK_K8S_POD_READY_TIMEOUT_MS, WORK_K8S_POD_GONE_TIMEOUT_MS, AGENT_CLI_MODELS_ENABLED, TOOLS_ACCESS_MODE, STT_ACCESS_MODE, TTS_ACCESS_MODE, VOICE_MODE_ACCESS_MODE, VOICE_CLONING_ACCESS_MODE, TOOLS_PRIVATE_NETWORK_ALLOWLIST, AGENT_CLI_TIMEOUT_MS, CODEX_OAUTH_MODELS_ENABLED, CODEX_HOME.

Ana bilgisayar kökleri : ile ayrılır; erişim modları admins, admins, admins, all-users, all-users, all-users, all-users, all-users olabilir. Backend kubernetes olabilir, Codex auth.json okur. Agent CLI/Codex yalnız solo; team false ister. Klasörler /workspace altına bağlanır; .ssh, .gnupg, .aws, .config reddedilir. claude ve codex yalnız yöneticilere görünür.

Ağ WORK_NETWORK_NAME, DNS WORK_RUNTIME_DNS, Kubernetes work.networkPolicy.blockedEgressCidrs kullanır. Terminal WORK_DOCKER_SOCKET, sonra DOCKER_HOST (unix://, tcp://, docker-compose.socket-proxy.yml), sonra /var/run/docker.sock kullanır; ssh:// ve DOCKER_TLS_VERIFY terminali devre dışı bırakır. Helm work.env iletir. Araç bütçesi max(128, WORK_MAX_AGENT_ROUNDS × 8), son durum needs_input, kalıcı çıktı yaklaşık 20 000 karakterdir.

Compose DOCKER_GID varsayılan 0, DOCKER_SOCKET /var/run/docker.sock; team docker-compose.team.work.yml, Helm work.enabled=true. WEBUI_BIND_ADDRESS 127.0.0.1, WEBUI_PORT 8080. Solo sıfır veya bir app replikası; tam team PostgreSQL, S3, PGVector, Redis ile birden çok replika ve aynı image, StorageClass, work.env alan dış worker kullanabilir. WORK_DOCKER_PUBLISHED_HOST uygulama varsayılanında WORK_PREVIEW_BIND ile aynıdır, Compose varsayılanında ise host.docker.internal; yerel Docker Engine üzerindeki Compose kurulumları WORK_PREVIEW_BIND için erişilebilir, herkese açık olmayan bir köprü arayüzü kullanmalıdır.

  • AGENT_CLI_MODELS_ENABLED: Doğrudan CLI ajan modellerini açar veya kapatır; ayarlanmamışsa ayrı yönetici kontrolü geçerlidir.

Sağlayıcı Model Keşfi​

DeğişkenVarsayılanAmaç
PLUGIN_MODEL_DISCOVERY_TTL_MS21600000 (6 h)Katalog yenileme yaşı
PLUGIN_MODEL_DISCOVERY_RETRY_MS600000 (10 min)Başarısız denemeler arası süre
PLUGIN_MODEL_DISCOVERY_REFRESH_DEADLINE_MS3000Liste yanıtının yenilemeyi beklemesi

Açık Modelleri yenile her zaman sağlayıcıya gider ve aralığı yok sayar; süreden taşan sonuç sonraki istekte görünür.

Sağlayıcı Eklenti Anahtarları​

OPENAI_API_KEY, ANTHROPIC_API_KEY, GROQ_API_KEY, GEMINI_API_KEY, MISTRAL_API_KEY, DEEPSEEK_API_KEY, AWS_BEARER_TOKEN_BEDROCK, OPENROUTER_API_KEY, KIMI_API_KEY, GITHUB_API_KEY, HUGGINGFACE_API_KEY, ELEVENLABS_API_KEY, COMFYUI_API_KEY ilgili sağlayıcıların dağıtım varsayılanlarıdır.

Ortam anahtarı yalnız gölgelenmemiş yerleşik tanımın rotası/auth’uyla kullanılır. İçe aktarılan, yerleşik ID’yi kullanan yazılabilir veya yönetici özel rotası aynı hesabın anahtarını ister; Libre ortam sırrını takmaz. Güven derlenmiş manifest hash’inden gelir.

Kullanıcıların kaydettiği anahtarlar etkin sağlayıcı tanımına, kaynağa, kimlik doğrulama sözleşmesine ve yönlendirme değerlerine bağlanır. Model kataloğu güncellemeleri onları korur. Bir yönetici bu hedefi değiştirdikten sonra kullanıcıların anahtarı yeniden kaydetmesi gerekir. Yükseltme öncesinden kalan bağlanmamış anahtarlar yalnızca yerleşik rotasını kullanan tam bir dağıtılmış tanım için kabul edilir ve ilk kullanımda bağlanır.

Kaynakta göreli PLUGINS_DIR backend’den, paketli başlatıcıda çağırandan çözülür. Uyumluluk için backend/plugins ve eski konumlar okunur. Tanımları $DATA_DIR/plugins içine taşıyın; kurtarma eski yolları dış durum sayar ve yalnız birim yedeğini engeller. Eklenti dizini/JSON fiziksel normal girdi olmalıdır, symlink izlenmez.

Ön Yüz​

DeğişkenVarsayılanAmaç
VITE_API_BASE_URLaynı kaynaklı geliştirme proxy'si veya üretim API'siAPI temel URL
VITE_WS_BASE_URLAPI URL’den çıkarılırChat/Work için mutlak ws:/wss: temel
VITE_APP_VERSIONVite paket sürümüGösterilen uygulama sürümü
VITE_DEMO_MODEfalsetrue demo taklitlerini açar
VITE_API_TIMEOUT300000API zaman aşımı ms
VITE_BACKEND_URLhttp://localhost:3001Bazı auth yardımcıları
VITE_DEBUG_VERBOSEayarsızAyrıntılı geliştirme günlüğü
VITE_LOG_LEVELayarsızÖn yüz günlük düzeyi
ELECTRON_BUILDayarsıztrue Electron Vite davranışı

VITE_WS_BASE_URL, Chat ve Work terminali için tüm WebSocket yedeklerini geçersiz kılar. Reverse proxy yol öneki içerebilir fakat kimlik bilgisi, query veya fragment olmayan mutlak ws:/wss: olmalıdır. Ayarsızsa Electron file: istemcileri ws://localhost:3001 kullanır; tarayıcı istemcileri temel URL'yi önce VITE_API_BASE_URL'den, ardından tarayıcı kökeninden türetir. Vite, geliştirme kökenini 3001 portundaki backend'e proxy'ler.

Bakım Betikleri​

DeğişkenAmaç
CHANGELOG_AI0 yapay zekâ changelog taslağını kapatır
CHANGELOG_AI_MODELSürüm/changelog Ollama modeli
CHANGELOG_AI_TIMEOUT_MSÜretim zaman aşımı ms
CHANGELOG_AI_MODEL=glm-5.2:cloud npm run changelog
CHANGELOG_AI=0 npm run release:minor

Üretim Örneği​

NODE_ENV=production
PORT=3001
SERVE_FRONTEND=true
DATA_DIR=/data/libre-webui
CORS_ORIGIN=https://librewebui.example
BASE_URL=https://librewebui.example

JWT_SECRET=replace-with-a-long-random-secret
ENCRYPTION_KEY=replace-with-64-hex-characters
ENABLE_SIGNUP=false

OLLAMA_BASE_URL=http://ollama:11434
OLLAMA_TIMEOUT=300000
OLLAMA_LONG_OPERATION_TIMEOUT=900000
OLLAMA_MAX_CONTEXT=32768

TURNSTILE_SITE_KEY=...
TURNSTILE_SECRET_KEY=...
TURNSTILE_EXPECTED_HOSTNAME=librewebui.example

İlgili Belgeler​