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.
Configureer Google Analytics (optioneel). Je kunt Google Analytics voor dit project uitschakelen.
Maak het project aan. Wacht 20-30 seconden totdat de provisioning is voltooid en klik vervolgens op Continue.
Cloudopslag inschakelen
Open alle producten. Klik vanuit het projectdashboard op All Products.
Select Storage, klik vervolgens op Get Started.
Bevestig de beveiligingsregels. Klik op Volgende om door te gaan.
Kies een Cloud Storage-locatie, voltooi daarna de configuratie en keer terug naar het Project Overview.
Een Web App registreren
Een web-app toevoegen. Klik in het Projectoverzicht op + Add app onder je projectnaam en kies vervolgens Web.
Registreer de app en geef deze een bijnaam.
Kopieer uw firebaseConfig waarden. Sla de weergegeven configuratie ergens veilig op.
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 # appIdUpdate opslagregels
Open Storage rules. Ga terug naar het Project Overview, selecteer Storage en open vervolgens het tabblad Rules.
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;
}
}
}Publiceer je wijzigingen.
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?