DROPBOX_ENABLED: "true":
- web (modul
dropbox): penautan, dialog Dropbox pada proyek, dan webhook yang dipanggil oleh Dropbox. - third-party-datastore: layanan tersendiri di dalam pod yang memproses antrean perubahan untuk dikirim ke atau diambil dari Dropbox.
- document-updater: dengan Dropbox aktif, layanan ini menulis perubahan dari editor ke MongoDB di latar belakang, beberapa menit setelah semua orang meninggalkan proyek; baru setelah itu perubahan dikirim ke Dropbox.
Konfigurasi
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" dan StatefulSet git-bridge dari Integrasi Git harus sudah tersedia: tanpa keduanya, pengaturan akun menyembunyikan bagian sinkronisasi proyek.2
Secret
DROPBOX_TOKEN_CIPHER_PASSWORD mengenkripsi token Dropbox pengguna di MongoDB. Setiap replika harus menggunakan nilai yang sama, dan mengubahnya nanti membuat setiap pengguna harus menautkan Dropbox lagi.3
Buat indeks database
Jalankan perintah indeks dari Membuat indeks database satu kali, pada primary dari replica set:
4
Terapkan dan restart
third-party-datastore.log hanya ada jika DROPBOX_ENABLED bernilai "true".5
Buka webhook ke internet
Dropbox harus dapat menjangkau Lalu tambahkan webhook di Dropbox App Console seperti dijelaskan di halaman Toolkit.
${OVERLEAF_SITE_URL}/dropbox/webhook dari internet. Jika ingress atau load balancer Anda hanya mengizinkan path atau jaringan tertentu dari luar, izinkan path ini; ini adalah satu-satunya path yang dipanggil Dropbox. Periksa dari luar kluster:Beberapa replika
Tidak ada yang perlu ditambahkan selainDROPBOX_TOKEN_CIPHER_PASSWORD yang sama:
- Webhook dapat menjangkau replika mana pun. Webhook hanya memasukkan perubahan ke antrean di Redis.
- Setiap replika menjalankan third-party-datastore, dan masing-masing memproses antrean bersama. Antrean seorang pengguna diambil dengan lock di Redis, sehingga hanya satu replika yang mengirim atau mengambil perubahan pengguna tertentu pada satu waktu.
- document-updater di setiap replika menulis proyek yang tidak aktif di latar belakang. Setiap proyek diambil dari daftar bersama di Redis, sehingga hanya ditulis satu kali.

