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

CDN Firebase

Dokumen ini menyediakan instruksi untuk mengatur Firebase Storage sebagai CDN untuk LibreChat

Firebase Storage terintegrasi dengan CDN global Firebase Hosting, memungkinkan Anda menyajikan file yang disimpan di Firebase Storage melalui lokasi edge di seluruh dunia. Ini adalah salah satu opsi penyimpanan file berbasis CDN di LibreChat, di samping CloudFront for S3.

Yang Anda perlukan

Akun Google dan waktu sekitar 10 menit. Anda akan membuat proyek Firebase, mengaktifkan Cloud Storage, mendaftarkan aplikasi web untuk mendapatkan kredensial, lalu mengarahkannya ke LibreChat.

Membuat Proyek Firebase

Buka Firebase dan masuk. Buka situs web Firebase, klik Get started, dan masuk dengan akun Google Anda.

Beri nama proyek Anda. Anda dapat menggunakan kembali proyek yang sama dengan Google OAuth jika Anda memilikinya.

Menamai proyek Firebase

Konfigurasi Google Analytics (opsional). Anda dapat menonaktifkan Google Analytics untuk proyek ini.

Google Analytics toggle

Buat proyek. Tunggu 20-30 detik hingga penyediaan selesai, lalu klik Continue.

Proyek siap, klik Lanjutkan

Mengaktifkan Penyimpanan Cloud

Buka Semua Produk. Dari dasbor proyek, klik All Products.

Menu Semua Produk

Pilih Storage, lalu klik Get Started.

Select Storage

Storage Get Started

Konfirmasi aturan keamanan. Klik Next untuk melanjutkan.

Langkah aturan keamanan

Pilih lokasi Cloud Storage, lalu selesaikan pengaturan dan kembali ke Project Overview.

Pilih lokasi Penyimpanan Cloud

Mendaftarkan Web App

Tambahkan aplikasi web. Pada Tinjauan Proyek, klik + Add app di bawah nama proyek Anda, lalu pilih Web.

Tambahkan aplikasi web

Daftarkan aplikasi dan berikan nama panggilan.

Daftarkan aplikasi

Salin nilai firebaseConfig Anda. Simpan konfigurasi yang ditampilkan di tempat yang aman.

Nilai konfigurasi Firebase

Tambahkan nilai-nilai tersebut ke file .env Anda. Petakan setiap nilai firebaseConfig ke variabel yang sesuai:

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

Perbarui Aturan Penyimpanan

Aturan Open Storage. Kembali ke Project Overview, pilih Storage, lalu buka tab Rules.

Open Storage

Izinkan akses baca dan tulis. Ubah allow read, write: if false; menjadi if true; agar sesuai dengan aturan di bawah ini:

rules_version = '2';

service firebase.storage {
  match /b/{bucket}/o {
    match /images/{userId}/{fileName} {
      allow read, write: if true;
    }
  }
}

Aturan penyimpanan yang diperbarui

Publikasikan perubahan Anda.

Publish rules

Konfigurasi LibreChat

Atur fileStrategy ke firebase di dalam file konfigurasi librechat.yaml Anda agar LibreChat menggunakan Firebase untuk penyimpanan file:

version: 1.3.5
cache: true
fileStrategy: 'firebase'

Untuk informasi lebih lanjut mengenai berkas ini, lihat panduan librechat.yaml.

Mengaktifkan CORS untuk Ekspor PNG

Hanya diperlukan untuk ekspor PNG

Mengekspor percakapan sebagai PNG mengambil gambar langsung dari Firebase Storage di peramban. Tanpa kebijakan CORS yang mengizinkan domain Anda, permintaan tersebut akan diblokir. Lewati bagian ini jika Anda tidak mengekspor percakapan sebagai PNG.

Buat file konfigurasi CORS. Di editor teks, buat cors.json dan izinkan akses dari domain Anda:

[
  {
    "origin": ["https://ai.example.com"],
    "method": ["GET", "POST", "DELETE", "PUT"],
    "maxAgeSeconds": 3600
  }
]

Terapkan konfigurasi. Dari direktori yang berisi cors.json, jalankan perintah di bawah ini, ganti <your-cloud-storage-bucket> dengan nama bucket Anda:

gsutil cors set cors.json gs://<your-cloud-storage-bucket>

Verifikasi pengaturannya. Ambil kebijakan aktif dan konfirmasikan bahwa kebijakan tersebut cocok dengan cors.json:

gsutil cors get gs://<your-cloud-storage-bucket>

Uji coba. Ekspor percakapan sebagai PNG dari origin yang diizinkan. Jika semuanya dikonfigurasi dengan benar, ekspor akan berhasil tanpa kesalahan CORS.

Tips keamanan

Hanya izinkan CORS untuk origin tepercaya, dan batasi metode serta header sesuai dengan apa yang benar-benar dibutuhkan oleh deployment Anda.

Bagaimana panduan ini?