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.
Konfigurasi Google Analytics (opsional). Anda dapat menonaktifkan Google Analytics untuk proyek ini.
Buat proyek. Tunggu 20-30 detik hingga penyediaan selesai, lalu klik Continue.
Mengaktifkan Penyimpanan Cloud
Buka Semua Produk. Dari dasbor proyek, klik All Products.
Pilih Storage, lalu klik Get Started.
Konfirmasi aturan keamanan. Klik Next untuk melanjutkan.
Pilih lokasi Cloud Storage, lalu selesaikan pengaturan dan kembali ke Project Overview.
Mendaftarkan Web App
Tambahkan aplikasi web. Pada Tinjauan Proyek, klik + Add app di bawah nama proyek Anda, lalu pilih Web.
Daftarkan aplikasi dan berikan nama panggilan.
Salin nilai firebaseConfig Anda. Simpan konfigurasi yang ditampilkan di tempat yang aman.
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 # appIdPerbarui Aturan Penyimpanan
Aturan Open Storage. Kembali ke Project Overview, pilih Storage, lalu buka tab Rules.
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;
}
}
}Publikasikan perubahan Anda.
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?