DROPBOX_ENABLED: "true" ile başlar:
- web (
dropboxmodülü): hesap bağlama, projenin Dropbox iletişim kutusu ve Dropbox’ın çağırdığı webhook. - third-party-datastore: pod içinde, Dropbox’a gönderilecek veya Dropbox’tan getirilecek değişikliklerin kuyruğunu işleyen kendine ait bir hizmet.
- document-updater: Dropbox açıkken, herkes bir projeden ayrıldıktan birkaç dakika sonra düzenleyicideki değişiklikleri arka planda MongoDB’ye yazar; değişiklikler ancak ondan sonra Dropbox’a gider.
Yapılandırma
1
ConfigMap
30-config.yaml (additions)
GIT_BRIDGE_ENABLED: "true" ve Git entegrasyonu sayfasındaki git-bridge StatefulSet’i mevcut olmalıdır: bunlar olmadan hesap ayarları proje senkronizasyonu bölümünü gizler.2
Secret
DROPBOX_TOKEN_CIPHER_PASSWORD, kullanıcıların Dropbox token’larını MongoDB’de şifreler. Her replika aynı değeri kullanmalıdır; bu değeri daha sonra değiştirmek, her kullanıcının Dropbox’ı yeniden bağlamasını gerektirir.3
Veritabanı dizinlerini oluşturun
Veritabanı dizinlerini oluşturma bölümündeki dizin komutlarını replika kümesinin birincil üyesinde bir kez çalıştırın:
4
Uygulayın ve yeniden başlatın
third-party-datastore.log yalnızca DROPBOX_ENABLED değeri "true" olduğunda vardır.5
Webhook'u internete açın
Dropbox’ın Ardından webhook’u Toolkit sayfasında açıklandığı gibi Dropbox App Console’a ekleyin.
${OVERLEAF_SITE_URL}/dropbox/webhook adresine internetten erişebilmesi gerekir. Ingress’iniz veya yük dengeleyiciniz dışarıdan yalnızca bazı yollara veya ağlara izin veriyorsa, bu yola izin verin; Dropbox’ın çağırdığı tek yol budur. Bunu kümenin dışından kontrol edin:Birden fazla replika
PaylaşılanDROPBOX_TOKEN_CIPHER_PASSWORD dışında ek bir şey gerekmez:
- Webhook herhangi bir replikaya ulaşabilir. Yalnızca değişikliği Redis’te kuyruğa ekler.
- Her replika third-party-datastore çalıştırır ve her biri paylaşılan kuyruk üzerinde çalışır. Bir kullanıcının kuyruğu Redis’teki bir kilitle alınır; böylece belirli bir kullanıcının değişikliklerini aynı anda yalnızca bir replika gönderir veya getirir.
- Her replikanın document-updater’ı boştaki projeleri arka planda yazar. Her proje Redis’teki paylaşılan bir listeden alınır; böylece yalnızca bir kez yazılır.

