> ## 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.

# 5. 個人化你的執行個體

### 個人化你的執行個體

首次啟動 Overleaf 執行個體之前，請在兩個設定檔中填入你的自訂資訊：

| 檔案 | 讀取者 | 在此設定 |
| - | - | - |
| `config/overleaf.rc` | Toolkit 指令碼，例如 `bin/up` | 容器的執行方式：`OVERLEAF_LISTEN_IP`、`OVERLEAF_PORT`、`SERVER_PRO`、資料路徑 |
| `config/variables.env` | 容器內的應用程式 | Overleaf 的行為：`OVERLEAF_SITE_URL`、電子郵件、TeX Live 映像檔 |

**1. 編輯變數檔案**

使用你慣用的文字編輯器開啟 `config/variables.env`，並將下列環境變數更新為所需的值。

**2. 監聽位址與連接埠**

預設情況下，Toolkit 會在 `127.0.0.1:80` 上公開網頁介面，因此只能從伺服器本機的瀏覽器開啟。其他電腦會收到「connection refused」或「server not found」錯誤。若要變更此設定，請編輯 `config/overleaf.rc`：

```bash title="config/overleaf.rc" theme={null}
OVERLEAF_LISTEN_IP=0.0.0.0
OVERLEAF_PORT=8080
```

`OVERLEAF_LISTEN_IP` 是容器所綁定的主機 IP 位址，`OVERLEAF_PORT` 則是主機連接埠。兩者共同構成 Docker 連接埠對應 `OVERLEAF_LISTEN_IP:OVERLEAF_PORT:80`。請選擇符合你環境的值：

| 環境 | `OVERLEAF_LISTEN_IP` | `OVERLEAF_PORT` | 在瀏覽器中開啟 |
| - | - | - | - |
| 僅限本機（預設） | `127.0.0.1` | `80` | `http://localhost` |
| 區域網路或網際網路上的其他電腦直接連線 | `0.0.0.0`，或伺服器的某個 IP | `80`，或任何可用連接埠 | `http://<server-ip>:<port>` |
| 位於同一主機上你自己的反向代理（NGINX、Caddy、Cloudflare Tunnel）之後 | `127.0.0.1` | 任何可用連接埠 | 代理的 URL |
| 位於 Toolkit [TLS 代理](https://ayakaleaf-pro.mintlify.site/zh-TW/on-premises/configuration/overleaf-toolkit/tls-proxy.md)之後 | `127.0.0.1` | `80` | `https://<your-domain>` |

如果主機上的 `80` 連接埠已被使用（例如被其他網頁伺服器佔用），請將 `OVERLEAF_PORT` 設為可用的連接埠，例如 `8080`。否則 `bin/up` 會失敗並顯示 `bind: address already in use`。

> [!WARNING]
>
> Docker 公開的連接埠會略過 `ufw` 與 `firewalld` 等主機防火牆。使用 `0.0.0.0` 時，伺服器所連接的每個網路都能存取此執行個體。在雲端伺服器上，你還需要在供應商的安全群組中允許該連接埠。在將執行個體公開至網際網路之前，請先使用 HTTPS，請參閱 [TLS 代理](https://ayakaleaf-pro.mintlify.site/zh-TW/on-premises/configuration/overleaf-toolkit/tls-proxy.md)。

你可以先使用預設值，並在 `localhost` 上開啟執行個體。之後若要允許其他電腦存取，請變更 `config/overleaf.rc` 中的這兩個變數以及 `config/variables.env` 中的 `OVERLEAF_SITE_URL`，然後再次執行 `bin/up` 以重新建立容器。

**3. 必要的環境變數**

更新 `config/variables.env` 中的下列變數：

| 名稱 | 說明 | 範例 |
| - | - | - |
| `OVERLEAF_SITE_URL` | Overleaf 執行個體對外公開的位址。此值用於公開連結以及 WebSocket 連線，因此**必須正確設定**！ | `https://overleaf.lilliput.com` |
| `OVERLEAF_EMAIL_FROM_ADDRESS` | 此電子郵件地址將作為所有外寄郵件的 `from` 地址。 | `no-reply@lilliput.com` |
| `OVERLEAF_ADMIN_EMAIL` | 使用者可用來聯絡網站管理者的電子郵件地址。 | `it-services@lilliput.com` |

`OVERLEAF_SITE_URL` 是使用者在瀏覽器中輸入的位址，而非監聽位址。當連接埠不是 `80`（HTTP）或 `443`（HTTPS）時，請包含連接埠，例如 `http://192.168.1.20:8080`。請勿使用 `http://0.0.0.0`。如果 `OVERLEAF_SITE_URL` 與瀏覽器中的位址不符，編輯器將無法連線，電子郵件中的連結與 OAuth 回呼也會指向錯誤的位置。

若沒有郵件伺服器，請勿設定 `OVERLEAF_EMAIL_FROM_ADDRESS`：如此一來 Overleaf 就不會寄送任何電子郵件，您可以自行將啟用連結提供給新使用者，請參閱[公開存取](https://ayakaleaf-pro.mintlify.site/zh-TW/on-premises/configuration/overleaf-toolkit/authentication/public-access.md)中的問與答。

另外，請將 `OVERLEAF_SESSION_SECRET` 設為使用 `openssl rand -hex 32` 產生的值。若未設定，每次會重新建立容器的 `bin/up` 以及每次升級，都會讓所有使用者登出。請參閱[環境變數](https://ayakaleaf-pro.mintlify.site/zh-TW/on-premises/configuration/overleaf-toolkit/environment-variables.md)中的問與答。

更新這些環境變數後，儲存並離開。

**4. 設定沙箱編譯**

接著，為 [sandboxed-compiles.md](https://ayakaleaf-pro.mintlify.site/zh-TW/on-premises/configuration/overleaf-toolkit/sandboxed-compiles.md "mention") 設定 TeX Live Full。開啟 `config/variables.env` 並更新下列環境變數：

```dotenv title="config/variables.env" wrap theme={null}
ALL_TEX_LIVE_DOCKER_IMAGES=ghcr.io/ayaka-notes/texlive-full:2026.1, ghcr.io/ayaka-notes/texlive-full:2025.1
ALL_TEX_LIVE_DOCKER_IMAGE_NAMES=Texlive 2026, Texlive 2025
TEX_LIVE_DOCKER_IMAGE=ghcr.io/ayaka-notes/texlive-full:2026.1
```

**5. 啟動執行個體**

執行下列指令以啟動執行個體：

```text title="Start the instance" theme={null}
bin/up
```

此指令會下載包括 TeX Live 在內的所需映像檔、（依照你的自訂設定）建立容器並啟動執行個體。你應該會看到各個 Docker 容器的日誌輸出。

之後若要再次啟動（且不附加到日誌輸出），請執行：

```text title="Start without attaching to logs" theme={null}
bin/start
```

> [!NOTE]
>
> Toolkit 使用 `docker compose` 管理 Overleaf 的 Docker 容器。Toolkit 提供一組包裝 `docker compose` 的指令碼，替你處理大部分細節。

若一切順利，在瀏覽器中前往 [http://127.0.0.1/](http://127.0.0.1/) 或 [http://localhost/](http://localhost/)，應該就能看到新 Overleaf 執行個體的登入頁面。如果你變更了 `OVERLEAF_LISTEN_IP` 或 `OVERLEAF_PORT`，請改為開啟**監聽位址與連接埠**步驟表格中的位址，例如 `http://<server-ip>:8080`。

若要檢查網頁介面是在哪個位址與連接埠上公開，請執行：

```text title="Show the published port" theme={null}
bin/docker-compose port sharelatex 80
```

輸出（例如 `0.0.0.0:8080`）會顯示使用中的主機 IP 位址與連接埠。如果顯示 `127.0.0.1`，則此執行個體只能從伺服器本機存取。

> [!WARNING]
>
> 視你的網路設定以及 Overleaf 執行個體的託管位置而定，你可能需要進行額外的設定變更。詳情請參閱 Toolkit 設定： [toolkit-settings.md](https://ayakaleaf-pro.mintlify.site/zh-TW/on-premises/configuration/overleaf-toolkit/toolkit-settings.md "mention")


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