ghcr.io registry 來拉取所需的 ayakaleaf-pro 與 TeX Live 映像檔。這並不是問題,因為 Docker 提供了匯出與匯入映像檔的工具,可協助你完成離線/實體隔離部署。
整體而言,你需要在可連網的裝置上下載所需映像檔,將其匯出到可攜式裝置(或使用 SCP/Rsync 傳輸),再匯入到實體隔離的伺服器上。
為此,你需要完成下列步驟:
- 在可連網的機器上拉取所有必要的映像檔(
overleaf-pro、git-bridge、mongo、redis,以及搭配沙箱編譯使用的任何必要 TeX Live 映像檔)docker pull ghcr.io/ayaka-notes/overleaf-pro:6.3.0docker pull ghcr.io/ayaka-notes/overleaf-pro/git-bridge:6.3.0(標籤必須與overleaf-pro相同)docker pull mongo:8.0(請改為實際版本)docker pull redis:7.4(請改為實際版本)docker pull ghcr.io/ayaka-notes/texlive-full:2024.1(請改為實際版本)
- 接著,你需要將拉取的每個映像檔匯出為 .tar 檔案。例如:
docker save ghcr.io/ayaka-notes/overleaf-pro:6.3.0 > overleaf-pro:6.3.0.tar - 使用你偏好的方式,將
.tar檔案從可連網的機器傳輸到離線/實體隔離的伺服器 - 針對每個 .tar 檔案,使用
docker load指令從 .tar 檔案載入映像檔。例如:docker load < overleaf-pro:6.3.0.tar - 最後,執行
docker images指令,檢視並確認映像檔已成功載入且可供使用
預設情況下,執行
bin/up 指令時,Toolkit 會嘗試自動拉取 config/variables.env 中透過 ALL_TEX_LIVE_DOCKER_IMAGES 設定的每個 TeX Live 映像檔。由於你的部署處於實體隔離環境,這會失敗——你可以在 config/overleaf.rc 中設定 SIBLING_CONTAINERS_PULL=false 來停止此行為。
