> ## 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 将 Web 界面发布在 `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-CN/on-premises/configuration/overleaf-toolkit/tls-proxy.md)之后 | `127.0.0.1` | `80` | `https://<your-domain>` |

如果主机上的 `80` 端口已被占用（例如被其他 Web 服务器占用），请将 `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-CN/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-CN/on-premises/configuration/overleaf-toolkit/authentication/public-access.md)中的问答。

另外，请将 `OVERLEAF_SESSION_SECRET` 设置为使用 `openssl rand -hex 32` 生成的值。没有它时，每次重新创建容器的 `bin/up` 以及每次升级都会使所有用户退出登录。参见[环境变量](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/overleaf-toolkit/environment-variables.md)中的问答。

更新这些环境变量后，保存并退出。

**4. 配置沙盒编译**

接下来，为 [sandboxed-compiles.md](https://ayakaleaf-pro.mintlify.site/zh-CN/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
```

该命令会下载包括 texlive 在内的所需镜像，（根据你的自定义配置）创建容器并启动实例。你应该会看到来自各个 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`。

要查看 Web 界面发布在哪个地址和端口上，请运行：

```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-CN/on-premises/configuration/overleaf-toolkit/toolkit-settings.md "mention")


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