> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 實體隔離／離線部署

> 透過匯出、傳輸並載入 Docker 映像檔，以離線方式部署 Ayakaleaf Pro。

一般而言，我們不建議在離線環境中部署 Ayakaleaf Pro，因為它的許多功能（例如 GitHub 同步與 Zotero 整合）都需要網際網路連線。

若要離線作業，你可能無法連到 `ghcr.io` registry 來拉取所需的 `ayakaleaf-pro` 與 TeX Live 映像檔。這並不是問題，因為 Docker 提供了匯出與匯入映像檔的工具，可協助你完成離線／實體隔離部署。

整體而言，你需要在可連網的裝置上下載所需映像檔，將其匯出到可攜式裝置（或使用 SCP/Rsync 傳輸），再匯入到實體隔離的伺服器上。

為此，你需要完成下列步驟：

* 在可連網的機器上拉取所有必要的映像檔（`overleaf-pro`、`git-bridge`、`mongo`、`redis`，以及搭配[沙箱編譯](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/sandboxed-compiles)使用的任何必要 [TeX Live 映像檔](https://docs.overleaf.com/on-premises/configuration/overleaf-toolkit/server-pro-only-configuration/sandboxed-compiles#available-tex-live-images)）
  * `docker pull ghcr.io/ayaka-notes/overleaf-pro:6.3.0`
  * `docker 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` 指令，檢視並確認映像檔已成功載入且可供使用

<Danger>
  預設情況下，執行 `bin/up` 指令時，Toolkit 會嘗試自動拉取 `config/variables.env` 中透過 `ALL_TEX_LIVE_DOCKER_IMAGES` 設定的每個 TeX Live 映像檔。由於你的部署處於實體隔離環境，這會失敗——你可以在 `config/overleaf.rc` 中設定 `SIBLING_CONTAINERS_PULL=false` 來停止此行為。
</Danger>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.