CDN Firebase
Questo documento fornisce le istruzioni per configurare Firebase Storage come CDN per LibreChat
Firebase Storage si integra con la CDN globale di Firebase Hosting, consentendoti di servire i file archiviati in Firebase Storage tramite posizioni edge in tutto il mondo. È una delle opzioni di archiviazione file supportate da CDN di LibreChat, insieme a CloudFront for S3.
Cosa ti servirÃ
Un account Google e circa 10 minuti. Creerai un progetto Firebase, abiliterai Cloud Storage, registrerai un'app web per ottenere le credenziali, quindi punterai LibreChat verso di esso.
Crea un progetto Firebase
Apri Firebase ed effettua l'accesso. Vai sul sito web di Firebase, clicca su Get started ed effettua l'accesso con il tuo account Google.
Dai un nome al tuo progetto. Puoi riutilizzare lo stesso progetto di Google OAuth se ne hai uno.
Configura Google Analytics (opzionale). Puoi disabilitare Google Analytics per questo progetto.
Crea il progetto. Attendi 20-30 secondi affinché il provisioning venga completato, quindi fai clic su Continue.
Abilita Cloud Storage
Apri tutti i prodotti. Dalla dashboard del progetto, fai clic su All Products.
Seleziona Storage, quindi fai clic su Get Started.
Conferma le regole di sicurezza. Fai clic su Next per continuare.
Scegli una posizione di Cloud Storage, quindi completa la configurazione e torna alla Panoramica del progetto.
Registrare una Web App
Aggiungi una web app. Nella Panoramica del progetto (Project Overview), fai clic su + Add app sotto il nome del tuo progetto, quindi scegli Web.
Registra l'app e assegnale un soprannome.
Copia i tuoi valori firebaseConfig. Salva la configurazione visualizzata in un luogo sicuro.
Aggiungi i valori al tuo .env file. Mappa ogni valore di firebaseConfig alla variabile corrispondente:
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 # appIdAggiorna le regole di archiviazione
Regole di Open Storage. Torna alla Panoramica del progetto, seleziona Storage, quindi apri la scheda Regole.
Consenti l'accesso in lettura e scrittura. Cambia allow read, write: if false; in if true; in modo che corrisponda alle regole sottostanti:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /images/{userId}/{fileName} {
allow read, write: if true;
}
}
}Pubblica le tue modifiche.
Configurare LibreChat
Imposta fileStrategy su firebase nel tuo file di configurazione librechat.yaml affinché LibreChat utilizzi Firebase per l'archiviazione dei file:
version: 1.3.5
cache: true
fileStrategy: 'firebase'Per ulteriori informazioni su questo file, consulta la guida di librechat.yaml.
Abilitare CORS per le esportazioni PNG
Necessario solo per le esportazioni PNG
L'esportazione delle conversazioni come PNG recupera le immagini direttamente da Firebase Storage nel browser. Senza una policy CORS che consenta il tuo dominio, tali richieste verranno bloccate. Salta questa sezione se non esporti le conversazioni come PNG.
Crea il file di configurazione CORS. In un editor di testo, crea cors.json e consenti l'accesso dal tuo dominio:
[
{
"origin": ["https://ai.example.com"],
"method": ["GET", "POST", "DELETE", "PUT"],
"maxAgeSeconds": 3600
}
]Applica la configurazione. Dalla directory contenente cors.json, esegui il comando seguente, sostituendo <your-cloud-storage-bucket> con il nome del tuo bucket:
gsutil cors set cors.json gs://<your-cloud-storage-bucket>Verifica le impostazioni. Recupera la policy attiva e conferma che corrisponda a cors.json:
gsutil cors get gs://<your-cloud-storage-bucket>Testalo. Esporta una conversazione come PNG dalla tua origine consentita. Se tutto è configurato correttamente, l'esportazione avrà successo senza errori CORS.
Suggerimento di sicurezza
Consenti CORS solo per origini attendibili e limita i metodi e le intestazioni a ciò di cui la tua distribuzione ha effettivamente bisogno.
Com’è questa guida?