Skip to main content
Pliki projektów i ich historia są przechowywane przez usługę history-v1, a pliki szablonów przez usługę filestore, obie działające w każdym podzie Ayakaleaf Pro. Domyślnie zapisują dane na woluminie danych; z S3 zapisują je do bucketów. Jakie buckety i uprawnienia są potrzebne, opisano na stronie S3.
Wybierz S3, zanim użytkownicy utworzą projekty. Instancja, która już przechowuje pliki na swoim woluminie, wymaga najpierw migracji do S3.

Konfiguracja

1

Buckety i klucze

Utwórz trzy buckety overleaf-template-files, overleaf-project-blobs i overleaf-chunks oraz dwóch użytkowników z ograniczonymi uprawnieniami w swojej usłudze S3 zgodnie z opisem w sekcji Konfiguracja S3 lub uruchom Garage w klastrze, jak pokazano poniżej. Umieść cztery klucze w Secret:
2

ConfigMap

30-config.yaml (additions)
3

Dodaj Secret do poda i uruchom ponownie

W Deployment (lub StatefulSet) dodaj Secret obok pozostałych:

Garage w klastrze

Jeśli nie masz usługi S3, Garage to niewielki serwer S3 działający w klastrze. Konfiguracja ze strony Skalowanie poziome została z nim przetestowana. Poniższe polecenia same generują klucze i tworzą Secret overleaf-s3, więc użyj ich zamiast polecenia tworzącego Secret z kroku 1.
MinIO, używane w przykładzie Overleaf, nie publikuje już obrazów kontenerów: minio/minio zniknęło z Docker Hub i quay.io.
50-garage.yaml
Wygeneruj sekrety, uruchom Garage, a następnie utwórz układ (layout), buckety i dwa klucze z ograniczonymi uprawnieniami. Identyfikatory kluczy Garage to GK plus 24 znaki szesnastkowe, a sekrety mają 64 znaki szesnastkowe:
Uprawnienia odpowiadają politykom opisanym na stronie S3. Garage sprawdza region: tutaj jest to garage, a OVERLEAF_*_S3_REGION musi mieć tę samą wartość. W przypadku Garage ustaw w ConfigMap punkt końcowy, PATH_STYLE: "true" i region garage dla obu usług, tak jak w 60-config.yaml na stronie Skalowanie poziome.

Kilka replik

Wszystkie repliki muszą używać tych samych bucketów i kluczy. Twórz kopie zapasowe bucketów za pomocą narzędzi swojego dostawcy S3; własne dyski replik nie przechowują wtedy żadnych danych wymagających kopii zapasowej.

Przetestowano na Kubernetes

Na Kubernetes 1.37 z trzema replikami i Garage jak powyżej każdy test end-to-end z tych stron, który tworzy projekty, przesyła pliki, korzysta z historii lub publikuje szablony, przeszedł pomyślnie, a następnie buckety overleaf-project-blobs, overleaf-chunks i overleaf-template-files zawierały obiekty, podczas gdy własny katalog /var/lib/overleaf/data/history replik pozostał pusty.
Ostatnia modyfikacja 2 listopada 2026