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

Firebase CDN

Dit document bevat instructies voor het instellen van Firebase Storage als een CDN voor LibreChat

Firebase Storage integreert met het wereldwijde CDN van Firebase Hosting, waardoor je bestanden die zijn opgeslagen in Firebase Storage kunt serveren via edge-locaties over de hele wereld. Het is een van de door een CDN ondersteunde bestandsopslagopties van LibreChat, naast CloudFront for S3.

Wat je nodig hebt

Een Google-account en ongeveer 10 minuten. Je maakt een Firebase-project aan, schakelt Cloud Storage in, registreert een web-app om inloggegevens te verkrijgen en koppelt vervolgens LibreChat hieraan.

Maak een Firebase-project

Open Firebase en meld je aan. Ga naar de Firebase website, klik op Get started en meld je aan met je Google-account.

Geef je project een naam. Je kunt hetzelfde project hergebruiken als Google OAuth als je er al een hebt.

Het Firebase-project een naam geven

Configureer Google Analytics (optioneel). Je kunt Google Analytics voor dit project uitschakelen.

Google Analytics-schakelaar

Maak het project aan. Wacht 20-30 seconden totdat de provisioning is voltooid en klik vervolgens op Continue.

Project gereed, klik op Doorgaan

Cloudopslag inschakelen

Open alle producten. Klik vanuit het projectdashboard op All Products.

Menu Alle producten

Select Storage, klik vervolgens op Get Started.

Select Storage

Storage Get Started

Bevestig de beveiligingsregels. Klik op Volgende om door te gaan.

Stap voor beveiligingsregels

Kies een Cloud Storage-locatie, voltooi daarna de configuratie en keer terug naar het Project Overview.

Selecteer Cloud Storage locatie

Een Web App registreren

Een web-app toevoegen. Klik in het Projectoverzicht op + Add app onder je projectnaam en kies vervolgens Web.

Voeg een web-app toe

Registreer de app en geef deze een bijnaam.

Registreer de app

Kopieer uw firebaseConfig waarden. Sla de weergegeven configuratie ergens veilig op.

Firebase configuratiewaarden

Voeg de waarden toe aan je .env bestand. Wijs elke firebaseConfig waarde toe aan de bijbehorende variabele:

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

Update opslagregels

Open Storage rules. Ga terug naar het Project Overview, selecteer Storage en open vervolgens het tabblad Rules.

Open Storage

Sta lees- en schrijftoegang toe. Verander allow read, write: if false; naar if true; zodat het overeenkomt met de onderstaande regels:

rules_version = '2';

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

Bijgewerkte opslagregels

Publiceer je wijzigingen.

Publiceer regels

LibreChat configureren

Stel fileStrategy in op firebase in je librechat.yaml configuratiebestand zodat LibreChat Firebase gebruikt voor bestandsopslag:

version: 1.3.5
cache: true
fileStrategy: 'firebase'

Voor meer informatie over dit bestand, zie de librechat.yaml guide.

CORS inschakelen voor PNG-exports

Alleen nodig voor PNG-exports

Het exporteren van gesprekken als PNG haalt afbeeldingen rechtstreeks op uit Firebase Storage in de browser. Zonder een CORS-beleid dat jouw domein toestaat, worden deze verzoeken geblokkeerd. Sla deze sectie over als je geen gesprekken exporteert als PNG.

Maak het CORS-configuratiebestand aan. Maak in een teksteditor cors.json aan en sta toegang toe vanaf jouw domein:

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

Pas de configuratie toe. Voer vanuit de map die cors.json bevat het onderstaande commando uit, waarbij je <your-cloud-storage-bucket> vervangt door de naam van je bucket:

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

Controleer de instellingen. Haal het actieve beleid op en bevestig dat dit overeenkomt met cors.json:

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

Test het. Exporteer een conversatie als PNG vanaf je toegestane origin. Als alles correct is geconfigureerd, slaagt de export zonder CORS-fouten.

Beveiligingstip

Sta CORS alleen toe voor vertrouwde origins en beperk de methoden en headers tot wat uw deployment daadwerkelijk nodig heeft.

Hoe is deze gids?