Skip to main content
Файли проєктів та їхню історію зберігає служба history-v1, файли шаблонів — служба filestore; обидві працюють у кожному поді Ayakaleaf Pro. За замовчуванням вони записують на том даних; з S3 вони записують у бакети. Які бакети та дозволи потрібні, описано в розділі S3.
Оберіть S3 до того, як користувачі створять проєкти. Екземпляр, який уже зберігає файли на своєму томі, спершу потребує міграції на S3.

Налаштування

1

Бакети та ключі

Створіть три бакети overleaf-template-files, overleaf-project-blobs і overleaf-chunks та двох користувачів з обмеженими правами у вашому сервісі S3, як описано в розділі Налаштування S3, або запустіть Garage у кластері, як показано нижче. Помістіть чотири ключі в Secret:
2

ConfigMap

30-config.yaml (additions)
3

Додайте Secret до пода й перезапустіть

У Deployment (або StatefulSet) додайте Secret поруч з іншими:

Garage у кластері

Якщо сервісу S3 немає, Garage — це невеликий сервер S3, що працює в кластері. Конфігурацію з розділу Горизонтальне масштабування перевірено саме з ним. Наведені нижче команди самі генерують ключі та створюють Secret overleaf-s3, тож використовуйте їх замість команди створення Secret із кроку 1.
MinIO, який використовується в прикладі Overleaf, більше не публікує образи контейнерів: minio/minio зник із Docker Hub і quay.io.
50-garage.yaml
Згенеруйте секрети, запустіть Garage, а потім створіть схему розміщення, бакети та два ключі з обмеженими правами. ID ключів Garage — це GK плюс 24 шістнадцяткові символи, секрети — 64 шістнадцяткові символи:
Дозволи відповідають політикам у розділі S3. Garage перевіряє регіон: тут це garage, і OVERLEAF_*_S3_REGION має бути таким самим. З Garage задайте в ConfigMap кінцеву точку, PATH_STYLE: "true" і регіон garage для обох служб, як у 60-config.yaml з розділу Горизонтальне масштабування.

Кілька реплік

Усі репліки мають використовувати ті самі бакети та ключі. Створюйте резервні копії бакетів інструментами вашого постачальника S3; тоді власні диски реплік не містять даних, які потребують резервного копіювання.

Перевірено на Kubernetes

На Kubernetes 1.37 з трьома репліками та Garage, як описано вище, усі наскрізні тести на цих сторінках, які створюють проєкти, завантажують файли, використовують історію чи публікують шаблони, пройшли, і після цього бакети overleaf-project-blobs, overleaf-chunks і overleaf-template-files містили об’єкти, тоді як власні /var/lib/overleaf/data/history реплік залишалися порожніми.
Останнє оновлення 2 листопада 2026 р.