mirror of
https://github.com/danny-avila/LibreChat.git
synced 2025-12-17 17:00:15 +01:00
* chore: fix `endpoint` typescript issues and typo in console info message * feat(api): files GET endpoint and save only file_id references to messages * refactor(client): `useGetFiles` query hook, update file types, optimistic update of filesQuery on file upload * refactor(buildTree): update to use params object and accept fileMap * feat: map files to messages; refactor(ChatView): messages only available after files are fetched * fix: fetch files only when authenticated * feat(api): AppService - rename app.locals.configs to app.locals.paths - load custom config use fileStrategy from yaml config in app.locals * refactor: separate Firebase and Local strategies, call based on config * refactor: modularize file strategies and employ with use of DALL-E * refactor(librechat.yaml): add fileStrategy field * feat: add source to MongoFile schema, as well as BatchFile, and ExtendedFile types * feat: employ file strategies for upload/delete files * refactor(deleteFirebaseFile): add user id validation for firebase file deletion * chore(deleteFirebaseFile): update jsdocs * feat: employ strategies for vision requests * fix(client): handle messages with deleted files * fix(client): ensure `filesToDelete` always saves/sends `file.source` * feat(openAI): configurable `resendImages` and `imageDetail` * refactor(getTokenCountForMessage): recursive process only when array of Objects and only their values (not keys) aside from `image_url` types * feat(OpenAIClient): calculateImageTokenCost * chore: remove comment * refactor(uploadAvatar): employ fileStrategy for avatars, from social logins or user upload * docs: update docs on how to configure fileStrategy * fix(ci): mock winston and winston related modules, update DALLE3.spec.js with changes made * refactor(redis): change terminal message to reflect current development state * fix(DALL-E-2): pass fileStrategy to dall-e
119 lines
No EOL
3.8 KiB
Markdown
119 lines
No EOL
3.8 KiB
Markdown
---
|
|
title: 🔥 Firebase CDN Setup
|
|
description: This document provides instructions for setting up Firebase CDN for LibreChat
|
|
weight: -6
|
|
---
|
|
|
|
# Firebase CDN Setup
|
|
|
|
## Steps to Set Up Firebase
|
|
|
|
1. Open the [Firebase website](https://firebase.google.com/).
|
|
2. Click on "Get started."
|
|
3. Sign in with your Google account.
|
|
|
|
### Create a New Project
|
|
|
|
- Name your project (you can use the same project as Google OAuth).
|
|
|
|

|
|
|
|
- Optionally, you can disable Google Analytics.
|
|
|
|

|
|
|
|
- Wait for 20/30 seconds for the project to be ready, then click on "Continue."
|
|
|
|

|
|
|
|
- Click on "All Products."
|
|
|
|

|
|
|
|
- Select "Storage."
|
|
|
|

|
|
|
|
- Click on "Get Started."
|
|
|
|

|
|
|
|
- Click on "Next."
|
|
|
|

|
|
|
|
- Select your "Cloud Storage location."
|
|
|
|

|
|
|
|
- Return to the Project Overview.
|
|
|
|

|
|
|
|
- Click on "+ Add app" under your project name, then click on "Web."
|
|
|
|

|
|
|
|
- Register the app.
|
|
|
|

|
|
|
|
- Save all this information in a text file.
|
|
|
|

|
|
|
|
- Fill all the `firebaseConfig` variables in the `.env` file.
|
|
|
|
```bash
|
|
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
|
|
```
|
|
|
|
- Return one last time to the Project Overview.
|
|
|
|

|
|
|
|
- Select `Storage`
|
|
|
|

|
|
|
|
- Select `Rules` and delete `: if false;` on this line: `allow read, write: if false;`
|
|
|
|
- your updated rules should look like this:
|
|
|
|
```bash
|
|
rules_version = '2';
|
|
service firebase.storage {
|
|
match /b/{bucket}/o {
|
|
match /{allPaths=**} {
|
|
allow read, write
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|

|
|
|
|
- Publish your updated rules
|
|
|
|

|
|
|
|
### Configure `fileStrategy` in `librechat.yaml`
|
|
|
|
Finally, to enable the app use Firebase, you must set the following in your `librechat.yaml` config file.
|
|
|
|
```yaml
|
|
version: 1.0.1
|
|
cache: true
|
|
fileStrategy: "firebase" # This is the field and value you need to add
|
|
endpoints:
|
|
custom:
|
|
- name: "Mistral"
|
|
# Rest of file omitted
|
|
```
|
|
|
|
For more information about the `librechat.yaml` config file, [see the guide here](../install/configuration/custom_config.md). |