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

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.

Denominazione del progetto Firebase

Configura Google Analytics (opzionale). Puoi disabilitare Google Analytics per questo progetto.

Interruttore Google Analytics

Crea il progetto. Attendi 20-30 secondi affinché il provisioning venga completato, quindi fai clic su Continue.

Progetto pronto, clicca su Continua

Abilita Cloud Storage

Apri tutti i prodotti. Dalla dashboard del progetto, fai clic su All Products.

Menu Tutti i prodotti

Seleziona Storage, quindi fai clic su Get Started.

Seleziona archiviazione

Storage Get Started

Conferma le regole di sicurezza. Fai clic su Next per continuare.

Passaggio delle regole di sicurezza

Scegli una posizione di Cloud Storage, quindi completa la configurazione e torna alla Panoramica del progetto.

Seleziona la posizione di Cloud Storage

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.

Aggiungi una web app

Registra l'app e assegnale un soprannome.

Registra l'app

Copia i tuoi valori firebaseConfig. Salva la configurazione visualizzata in un luogo sicuro.

Valori di configurazione Firebase

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                     # appId

Aggiorna le regole di archiviazione

Regole di Open Storage. Torna alla Panoramica del progetto, seleziona Storage, quindi apri la scheda Regole.

Open Storage

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;
    }
  }
}

Regole di archiviazione aggiornate

Pubblica le tue modifiche.

Regole di pubblicazione

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?