docker-compose.yml 檔案使用 Docker Compose,遷移至 Toolkit 可以讓本機部署版本的 Overleaf 更容易部署、升級與維護。
若要遷移,您需要將現有的 Docker Compose 設定轉換為 Toolkit 使用的格式。此程序包括將現有設定複製到 Toolkit 中。
本指南將逐步引導您完成此程序的每個步驟,確保從 Docker Compose 順利遷移至 Toolkit。
這些說明適用於 v4.x 及更早版本。因此所有變數都使用
SHARELATEX_ 前綴,而非 OVERLEAF_。1
複製 Toolkit 儲存庫
首先,將 Toolkit 儲存庫複製到主機:接著執行
bin/init 指令,以預設設定初始化 Toolkit。2
設定映像檔與版本
在典型的 使用 Toolkit 時,映像檔名稱會自動解析;唯一的要求是在 config/overleaf.rc 中設定
docker-compose.yml 中,映像檔與版本定義於元件描述中,例如:SERVER_PRO=true 以選用 Server Pro 映像檔,或設定 SERVER_PRO=false 以使用 Community Edition。所需的 Server Pro/Community Edition 版本號碼設定於 config/version 檔案中。Toolkit 需要明確的版本號碼,例如 4.2.3。如果您使用的是 latest,可以使用 bin/images 找出本機 latest 版本的映像檔 ID,然後利用 2.x.x、3.x.x、4.x.x 或 5.x.x 的版本說明,將映像檔 ID 對應到版本。如果您從自己的內部登錄庫取得映像檔,可以透過設定 OVERLEAF_IMAGE_NAME 覆寫 Toolkit 使用的映像檔。您不需要指定標籤,因為 Toolkit 會根據您的 config/version 檔案自動加上。3
設定外部存取
預設情況下,Overleaf 會監聽
127.0.0.1:80,只允許來自 Docker 主機的流量。若要允許外部存取,請在 config/overleaf.rc 檔案中設定 OVERLEAF_LISTEN_IP 與 OVERLEAF_PORT。4
環境變數遷移
您的 將這些變數複製到 Toolkit 的 config/variables.env 檔案中,並確保採用以下格式(使用 使用 Toolkit 時的例外/差異:
docker-compose.yml 中的 sharelatex 服務可能已定義了一組環境變數,例如:= 而非 :):- 不再需要以
SANDBOXED_COMPILES_與DOCKER_RUNNER開頭的變數。若要啟用沙箱編譯,請在 config/overleaf.rc 檔案中設定SIBLING_CONTAINERS_ENABLED=true。 - 不再需要以
OVERLEAF_MONGO_、OVERLEAF_REDIS_開頭的變數以及REDIS_HOST變數。MongoDB 與 Redis 現在於 config/overleaf.rc 檔案中使用MONGO_URL、REDIS_HOST與REDIS_PORT設定。
5
NGINX 代理
關於如何遷移
nginx 的說明,請參閱 TLS 代理文件:
