Skip to main content
專案檔案及其歷史記錄由 history-v1 服務儲存,範本檔案則由 filestore 服務儲存,兩者都位於每個 Ayakaleaf Pro Pod 內。預設情況下,它們會寫入資料磁碟區;使用 S3 時則會寫入儲存貯體。需要哪些儲存貯體與權限,請參閱 S3。
請在使用者建立專案之前選擇 S3。已將檔案保存在磁碟區上的執行個體,需要先進行 S3 遷移。

設定

1

儲存貯體與金鑰

請依照 S3 設定的說明,在您的 S3 服務中建立三個儲存貯體 overleaf-template-files、overleaf-project-blobs 與 overleaf-chunks,以及兩個受限使用者;或依下文所示在叢集中執行 Garage。將四組金鑰放入 Secret:
2

ConfigMap

30-config.yaml (additions)
3

將 Secret 加入 Pod 並重新啟動

在 Deployment(或 StatefulSet)中,將此 Secret 加在其他項目旁邊:

叢集中的 Garage

若沒有 S3 服務,Garage 是一個可在叢集中執行的小型 S3 伺服器。水平擴展的設定即是以它進行測試。下列指令會自行產生金鑰並建立 Secret overleaf-s3,因此請以它們取代步驟 1 中建立 Secret 的指令。
Overleaf 範例中使用的 MinIO 已不再發布容器映像檔:minio/minio 已從 Docker Hub 與 quay.io 移除。
50-garage.yaml
產生密鑰、啟動 Garage,然後建立配置(layout)、儲存貯體與兩組受限金鑰。Garage 的金鑰 ID 為 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 則保持空白。
最後修改於 2026年11月2日