Skip to main content
Tệp dự án và lịch sử của chúng được lưu trữ bởi dịch vụ history-v1, còn tệp mẫu được lưu bởi dịch vụ filestore, cả hai đều nằm trong mọi pod Ayakaleaf Pro. Theo mặc định, chúng ghi vào volume dữ liệu; với S3, chúng ghi vào các bucket. Những bucket và quyền cần thiết được mô tả trong S3.
Hãy chọn S3 trước khi người dùng tạo dự án. Một phiên bản đã lưu tệp trên volume của nó cần thực hiện di chuyển sang S3 trước.

Cấu hình

1

Bucket và khóa

Tạo ba bucket overleaf-template-files, overleaf-project-blobs và overleaf-chunks cùng hai người dùng bị giới hạn quyền trên dịch vụ S3 của bạn như mô tả trong Thiết lập S3, hoặc chạy Garage trong cluster như hướng dẫn bên dưới. Đưa bốn khóa vào một Secret:
2

ConfigMap

30-config.yaml (additions)
3

Thêm Secret vào pod và khởi động lại

Trong Deployment (hoặc StatefulSet), thêm Secret bên cạnh các Secret khác:

Garage trong cluster

Nếu không có dịch vụ S3, Garage là một máy chủ S3 nhỏ chạy trong cluster. Thiết lập Mở rộng theo chiều ngang đã được kiểm thử với nó. Các lệnh bên dưới tự tạo các khóa và Secret overleaf-s3, vì vậy hãy dùng chúng thay cho lệnh tạo Secret ở bước 1.
MinIO, được dùng trong ví dụ mẫu của Overleaf, không còn phát hành container image: minio/minio đã không còn trên Docker Hub và quay.io.
50-garage.yaml
Tạo các secret, khởi động Garage, sau đó tạo layout, các bucket và hai khóa bị giới hạn quyền. ID khóa Garage gồm GK cộng 24 ký tự hex, secret gồm 64 ký tự hex:
Các quyền này khớp với các chính sách trong S3. Garage kiểm tra region: ở đây là garage, và OVERLEAF_*_S3_REGION phải giống như vậy. Với Garage, hãy đặt endpoint, PATH_STYLE: "true" và region garage cho cả hai dịch vụ trong ConfigMap, như trong 60-config.yaml của Mở rộng theo chiều ngang.

Nhiều replica

Tất cả các replica phải dùng cùng các bucket và khóa. Hãy sao lưu các bucket bằng công cụ của nhà cung cấp S3; khi đó ổ đĩa riêng của các replica không chứa dữ liệu nào cần sao lưu.

Đã kiểm thử trên Kubernetes

Trên Kubernetes 1.37 với ba replica và Garage như trên, mọi bài kiểm thử end-to-end trong các trang này có tạo dự án, tải tệp lên, dùng lịch sử hoặc xuất bản mẫu đều đạt, và sau đó các bucket overleaf-project-blobs, overleaf-chunks và overleaf-template-files chứa các đối tượng, trong khi /var/lib/overleaf/data/history riêng của các replica vẫn trống.
Lần sửa đổi cuối 2 tháng 11, 2026