Skip to main content
Gitea 同步在每個 Ayakaleaf Pro pod 的 web 服務(gitea-sync 模組)中執行。它需要 Git 整合。請在 Gitea 同步中建立 OAuth 應用程式並了解各項設定的作用;本頁說明如何將其放入 Kubernetes。

設定

1

ConfigMap

30-config.yaml (additions)
必須已設定 GIT_BRIDGE_ENABLED: "true" 並部署 Git 整合中的 git-bridge StatefulSet:若缺少這些,帳號設定與編輯器會隱藏 Gitea 同步。
2

Secret

GITEA_TOKEN_CIPHER_PASSWORD 用於加密 MongoDB 中使用者的 Gitea 存取權杖與重新整理權杖。每個副本都必須使用相同的值,且之後變更此值會讓每位使用者都必須重新連結 Gitea。
3

私有 CA(選用)

若您的 Gitea 使用由您自己的 CA 簽發的憑證,請將該 CA 加入掛載於 /var/lib/overleaf/certs 的 Secret overleaf-certs(請參閱憑證與其他檔案),並在 ConfigMap 中設定 NODE_EXTRA_CA_CERTS: /var/lib/overleaf/certs/ca.pem。
4

套用、重新啟動並檢查

任何 HTTP 狀態碼都表示該 pod 可以連線至 Gitea;000 則表示無法連線。

多個副本

除了共用的 GITEA_TOKEN_CIPHER_PASSWORD 之外,不需要額外處理。同步時會在 Redis 中取得鎖定(與其他 Git 同步共用),因此兩個副本永遠不會同時同步同一個專案。

在 Kubernetes 上的測試

針對位於 GITEA_SYNC_URL 的真實 Gitea 1.23,在 Kubernetes 1.37 上以一個副本並啟用 Git 整合進行測試,我們針對 Gitea 同步的端對端測試全數通過(39 個案例):透過 Gitea 的 OAuth2 連結與取消連結帳號、重新整理即將到期的存取權杖以及已撤銷的授權、匯出至新的私人或組織儲存庫、匯入儲存庫、pull 與 push、合併、衝突、已刪除與被強制 push 的分支、二進位檔案、重新命名與刪除,以及擁有者、編輯者與檢視者可執行的操作。
最後修改於 2026年11月2日