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

Firebase CDN

Dieses Dokument enthält Anweisungen zur Einrichtung von Firebase Storage als CDN für LibreChat

Firebase Storage lässt sich in das globale CDN von Firebase Hosting integrieren, wodurch Sie Dateien, die in Firebase Storage gespeichert sind, über Edge-Standorte auf der ganzen Welt bereitstellen können. Es ist neben CloudFront for S3 eine der CDN-gestützten Dateispeicheroptionen von LibreChat.

Was Sie benötigen

Ein Google-Konto und etwa 10 Minuten Zeit. Sie erstellen ein Firebase-Projekt, aktivieren Cloud Storage, registrieren eine Web-App, um Anmeldedaten zu erhalten, und verweisen dann LibreChat darauf.

Firebase-Projekt erstellen

Öffnen Sie Firebase und melden Sie sich an. Besuchen Sie die Firebase-Website, klicken Sie auf Get started und melden Sie sich mit Ihrem Google-Konto an.

Benennen Sie Ihr Projekt. Sie können dasselbe Projekt wie für Google OAuth wiederverwenden, falls Sie eines haben.

Benennung des Firebase-Projekts

Google Analytics konfigurieren (optional). Sie können Google Analytics für dieses Projekt deaktivieren.

Google Analytics Umschalter

Erstellen Sie das Projekt. Warten Sie 20-30 Sekunden, bis die Bereitstellung abgeschlossen ist, und klicken Sie dann auf Weiter.

Projekt bereit, klicken Sie auf Weiter

Cloud-Speicher aktivieren

Alle Produkte öffnen. Klicken Sie im Projekt-Dashboard auf Alle Produkte.

Menü „Alle Produkte“

Wählen Sie Storage und klicken Sie dann auf Get Started.

Speicher auswählen

Storage Get Started

Bestätigen Sie die Sicherheitsregeln. Klicken Sie auf Weiter, um fortzufahren.

Schritt für Sicherheitsregeln

Wählen Sie einen Cloud-Speicherort, schließen Sie dann die Einrichtung ab und kehren Sie zur Projektübersicht zurück.

Cloud-Speicherort auswählen

Eine Web-App registrieren

Fügen Sie eine Web-App hinzu. Klicken Sie in der Projektübersicht unter Ihrem Projektnamen auf + Add app und wählen Sie dann Web.

Web-App hinzufügen

Registrieren Sie die App und geben Sie ihr einen Spitznamen.

Registrieren der App

Kopieren Sie Ihre firebaseConfig-Werte. Speichern Sie die angezeigte Konfiguration an einem sicheren Ort.

Firebase-Konfigurationswerte

Fügen Sie die Werte zu Ihrer .env Datei hinzu. Ordnen Sie jeden firebaseConfig-Wert der entsprechenden Variable zu:

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

Speicherregeln aktualisieren

Open Storage-Regeln. Kehren Sie zur Projektübersicht zurück, wählen Sie Storage und öffnen Sie dann den Tab Rules.

Open Storage

Lese- und Schreibzugriff erlauben. Ändern Sie allow read, write: if false; zu if true;, damit es mit den unten stehenden Regeln übereinstimmt:

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

Aktualisierte Speicherregeln

Veröffentlichen Sie Ihre Änderungen.

Publish rules

LibreChat konfigurieren

Setzen Sie fileStrategy in Ihrer librechat.yaml Konfigurationsdatei auf firebase, damit LibreChat Firebase für die Dateispeicherung verwendet:

version: 1.3.5
cache: true
fileStrategy: 'firebase'

Weitere Informationen zu dieser Datei finden Sie im librechat.yaml guide.

CORS für PNG-Exporte aktivieren

Nur für PNG-Exporte erforderlich

Das Exportieren von Unterhaltungen als PNG ruft Bilder direkt aus Firebase Storage im Browser ab. Ohne eine CORS-Richtlinie, die Ihre Domain zulässt, werden diese Anfragen blockiert. Überspringen Sie diesen Abschnitt, wenn Sie keine Unterhaltungen als PNG exportieren.

Erstellen Sie die CORS-Konfigurationsdatei. Erstellen Sie in einem Texteditor eine cors.json und erlauben Sie den Zugriff von Ihrer Domain:

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

Wenden Sie die Konfiguration an. Führen Sie aus dem Verzeichnis, das cors.json enthält, den folgenden Befehl aus und ersetzen Sie <your-cloud-storage-bucket> durch Ihren Bucket-Namen:

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

Überprüfen Sie die Einstellungen. Rufen Sie die aktive Richtlinie ab und bestätigen Sie, dass sie mit cors.json übereinstimmt:

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

Testen Sie es. Exportieren Sie eine Konversation als PNG von Ihrem erlaubten Ursprung (Origin). Wenn alles korrekt konfiguriert ist, ist der Export ohne CORS-Fehler erfolgreich.

Sicherheitshinweis

Erlaube CORS nur für vertrauenswürdige Ursprünge und beschränke die Methoden und Header auf das, was deine Bereitstellung tatsächlich benötigt.

Wie finden Sie diese Anleitung?