CDN Firebase
Ce document fournit des instructions pour configurer Firebase Storage en tant que CDN pour LibreChat
Firebase Storage s'intègre au CDN mondial de Firebase Hosting, vous permettant de servir des fichiers stockés dans Firebase Storage via des emplacements périphériques (edge locations) dans le monde entier. Il s'agit de l'une des options de stockage de fichiers supportées par un CDN pour LibreChat, aux côtés de CloudFront for S3.
Ce dont vous aurez besoin
Un compte Google et environ 10 minutes. Vous créerez un projet Firebase, activerez Cloud Storage, enregistrerez une application web pour obtenir des identifiants, puis configurerez LibreChat pour les utiliser.
Créer un projet Firebase
Ouvrez Firebase et connectez-vous. Allez sur le site web de Firebase, cliquez sur Get started, et connectez-vous avec votre compte Google.
Nommez votre projet. Vous pouvez réutiliser le même projet que pour Google OAuth si vous en avez déjà un.
Configurer Google Analytics (optionnel). Vous pouvez désactiver Google Analytics pour ce projet.
Créez le projet. Attendez 20 à 30 secondes que le provisionnement se termine, puis cliquez sur Continue.
Activer le stockage cloud
Ouvrir tous les produits. Depuis le tableau de bord du projet, cliquez sur All Products.
Sélectionnez Storage, puis cliquez sur Get Started.
Confirmez les règles de sécurité. Cliquez sur Next pour continuer.
Choisissez un emplacement de stockage Cloud, puis terminez la configuration et retournez à la Vue d'ensemble du projet.
Enregistrer une application Web
Ajouter une application web. Dans la vue d'ensemble du projet (Project Overview), cliquez sur + Add app sous le nom de votre projet, puis choisissez Web.
Enregistrez l'application et donnez-lui un surnom.
Copiez vos valeurs firebaseConfig. Enregistrez la configuration affichée dans un endroit sûr.
Ajoutez les valeurs à votre .env file. Faites correspondre chaque valeur de firebaseConfig à la variable correspondante :
Mettre à jour les règles de stockage
Règles de stockage ouvert. Retournez à la Vue d'ensemble du projet, sélectionnez Stockage, puis ouvrez l'onglet Règles.
Autoriser l'accès en lecture et en écriture. Remplacez allow read, write: if false; par if true; afin que cela corresponde aux règles ci-dessous :
Publiez vos modifications.
Configurer LibreChat
Définissez fileStrategy sur firebase dans votre fichier de configuration librechat.yaml afin que LibreChat utilise Firebase pour le stockage des fichiers :
Pour en savoir plus sur ce fichier, consultez le guide librechat.yaml.
Activer CORS pour les exportations PNG
Uniquement nécessaire pour les exportations PNG
L'exportation de conversations au format PNG récupère les images directement depuis Firebase Storage dans le navigateur. Sans une politique CORS autorisant votre domaine, ces requêtes sont bloquées. Ignorez cette section si vous n'exportez pas de conversations au format PNG.
Créez le fichier de configuration CORS. Dans un éditeur de texte, créez cors.json et autorisez l'accès depuis votre domaine :
Appliquez la configuration. Depuis le répertoire contenant cors.json, exécutez la commande ci-dessous, en remplaçant <your-cloud-storage-bucket> par le nom de votre bucket :
Vérifiez les paramètres. Récupérez la politique active et confirmez qu'elle correspond à cors.json :
Testez-le. Exportez une conversation au format PNG depuis votre origine autorisée. Si tout est correctement configuré, l'exportation réussit sans erreurs CORS.
Conseil de sécurité
Autorisez uniquement le CORS pour les origines de confiance, et limitez les méthodes et les en-têtes à ce dont votre déploiement a réellement besoin.
Que pensez-vous de ce guide ?