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.
Google Analytics'i yapılandırın (isteğe bağlı). Bu proje için Google Analytics'i devre dışı bırakabilirsiniz.
Projeyi oluşturun. Hazırlık işleminin tamamlanması için 20-30 saniye bekleyin, ardından Continue düğmesine 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.
Depolama Seçin (Select Storage) öğesine tıklayın, ardından Başlayın (Get Started) düğmesine tıklayın.
Güvenlik kurallarını onaylayın. Devam etmek için Next düğmesine tıklayın.
Bir Bulut Depolama konumu seçin, ardından kurulumu tamamlayın ve Proje Genel Bakışı'na dönün.
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.
Uygulamayı kaydedin ve ona bir takma ad verin.
firebaseConfig değerlerinizi kopyalayın. Görüntülenen yapılandırmayı güvenli bir yerde saklayın.
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 # appIdDepolama 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.
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;
}
}
}Değişikliklerinizi yayınlayın.
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?