Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Firebase CDN

Bu belge, Firebase Storage'ı LibreChat için bir CDN olarak ayarlamaya yönelik talimatları sağlar

Firebase Storage, Firebase Hosting'in küresel CDN'i ile entegre olarak, Firebase Storage'da depolanan dosyaları dünya genelindeki uç noktalardan sunmanıza olanak tanır. Bu, CloudFront for S3 ile birlikte LibreChat'in CDN destekli dosya depolama seçeneklerinden biridir.

İhtiyacınız olacaklar

Bir Google hesabı ve yaklaşık 10 dakika. Bir Firebase projesi oluşturacak, Cloud Storage'ı etkinleştirecek, kimlik bilgilerini almak için bir web uygulaması kaydedecek ve ardından LibreChat'i buna yönlendireceksiniz.

Bir Firebase Projesi Oluşturun

Firebase'i açın ve oturum açın. Firebase web sitesine gidin, Get started düğmesine tıklayın ve Google hesabınızla oturum açın.

Projenizi adlandırın. Eğer varsa, Google OAuth için kullandığınız projenin aynısını yeniden kullanabilirsiniz.

Firebase projesini adlandırma

Google Analytics'i yapılandırın (isteğe bağlı). Bu proje için Google Analytics'i devre dışı bırakabilirsiniz.

Google Analytics geçişi

Projeyi oluşturun. Hazırlık işleminin tamamlanması için 20-30 saniye bekleyin, ardından Continue düğmesine tıklayın.

Proje hazır, Devam Et'e tıklayın

Bulut Depolamayı Etkinleştir

Tüm Ürünleri Aç. Proje kontrol panelinden Tüm Ürünler (All Products) seçeneğine tıklayın.

All Products menüsü

Depolama Seçin (Select Storage) öğesine tıklayın, ardından Başlayın (Get Started) düğmesine tıklayın.

Depolama Seç

Storage Get Started

Güvenlik kurallarını onaylayın. Devam etmek için Next düğmesine tıklayın.

Güvenlik kuralları adımı

Bir Bulut Depolama konumu seçin, ardından kurulumu tamamlayın ve Proje Genel Bakışı'na dönün.

Bulut Depolama konumunu seçin

Bir Web Uygulaması Kaydedin

Bir web uygulaması ekleyin. Projeye Genel Bakış sayfasında, proje adınızın altındaki + Add app düğmesine tıklayın ve ardından Web seçeneğini belirleyin.

Bir web uygulaması ekle

Uygulamayı kaydedin ve ona bir takma ad verin.

Uygulamayı kaydedin

firebaseConfig değerlerinizi kopyalayın. Görüntülenen yapılandırmayı güvenli bir yerde saklayın.

Firebase yapılandırma değerleri

Değerleri .env dosyanıza ekleyin. Her bir firebaseConfig değerini eşleşen değişkenle eşleştirin:

FIREBASE_API_KEY=api_key                          # apiKey
FIREBASE_AUTH_DOMAIN=auth_domain                  # authDomain
FIREBASE_PROJECT_ID=project_id                    # projectId
FIREBASE_STORAGE_BUCKET=storage_bucket            # storageBucket
FIREBASE_MESSAGING_SENDER_ID=messaging_sender_id  # messagingSenderId
FIREBASE_APP_ID=1:your_app_id                     # appId

Depolama Kurallarını Güncelle

Open Storage kuralları. Project Overview (Proje Genel Bakış) kısmına dönün, Storage (Depolama) seçeneğini belirleyin ve ardından Rules (Kurallar) sekmesini açın.

Open Storage

Okuma ve yazma erişimine izin verin. allow read, write: if false; ifadesini, aşağıdaki kurallarla eşleşecek şekilde if true; olarak değiştirin:

rules_version = '2';

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{userId}/{fileName} {
      allow read, write: if true;
    }
  }
}

Güncellenmiş depolama kuralları

Değişikliklerinizi yayınlayın.

Publish rules

LibreChat'i Yapılandırın

LibreChat'in dosya depolama için Firebase kullanması amacıyla librechat.yaml yapılandırma dosyanızda fileStrategy değerini firebase olarak ayarlayın:

version: 1.3.5
cache: true
fileStrategy: 'firebase'

Bu dosya hakkında daha fazla bilgi için librechat.yaml kılavuzuna bakın.

PNG Dışa Aktarmaları için CORS'u Etkinleştirme

Sadece PNG dışa aktarımları için gereklidir

Sohbetleri PNG olarak dışa aktarmak, görüntüleri doğrudan tarayıcıdaki Firebase Storage'dan getirir. Alan adınıza izin veren bir CORS politikası olmadığı sürece bu istekler engellenir. Sohbetleri PNG olarak dışa aktarmıyorsanız bu bölümü atlayın.

CORS yapılandırma dosyasını oluşturun. Bir metin düzenleyicide cors.json dosyasını oluşturun ve alan adınızdan erişime izin verin:

[
  {
    "origin": ["https://ai.example.com"],
    "method": ["GET", "POST", "DELETE", "PUT"],
    "maxAgeSeconds": 3600
  }
]

Yapılandırmayı uygulayın. cors.json dosyasını içeren dizinden, <your-cloud-storage-bucket> kısmını kendi bucket adınızla değiştirerek aşağıdaki komutu çalıştırın:

gsutil cors set cors.json gs://<your-cloud-storage-bucket>

Ayarları doğrulayın. Etkin politikayı alın ve cors.json ile eşleştiğini onaylayın:

gsutil cors get gs://<your-cloud-storage-bucket>

Test edin. Bir konuşmayı izin verilen kaynağınızdan PNG olarak dışa aktarın. Her şey doğru yapılandırılmışsa, dışa aktarma işlemi CORS hataları olmadan başarılı olacaktır.

Güvenlik ipucu

CORS'a yalnızca güvenilir kaynaklar için izin verin ve yöntemleri ve başlıkları dağıtımınızın gerçekten ihtiyaç duyduklarıyla sınırlayın.

Bu rehber nasıl?