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

# 2. 熟悉 Toolkit

### 浏览一下

现在你已经有了 Toolkit 的本地副本，让我们使用 `ls` 命令来看看仓库的结构。

```bash title="Run this" theme={null}
ls -l
```

> [!NOTE]
>
> `ls -l` 命令以详细的长列表形式显示目录内容，并提供权限、所有者和大小等额外的文件信息。

如果一切克隆成功，你应该会看到类似下面的内容：

```text theme={null}
drwxr-xr-x 3 fry fry  4096 Aug 30 14:16 bin
-rw-r--r-- 1 fry fry  6465 Aug 30 14:16 CHANGELOG.md
drwxr-xr-x 2 fry fry  4096 Sep  6 12:43 config
drwxr-xr-x 5 fry fry  4096 Aug 30 14:22 data
drwxr-xr-x 3 fry fry  4096 Aug 30 14:16 doc
drwxr-xr-x 3 fry fry  4096 Aug 30 14:16 lib
-rw-r--r-- 1 fry fry 34520 Aug 30 14:16 LICENSE
-rw-r--r-- 1 fry fry  1178 Aug 30 14:16 README.md
```

> [!NOTE]
>
> 所有用户自有的配置文件都位于 `config/` 目录中。该目录**不受** git 版本控制系统管理，因此更新 Toolkit 时不会对其进行更改。

## 仓库结构

| 名称 | 描述 |
| - | - |
| `bin` | 此文件夹包含一组帮助你管理 Overleaf 服务器实例的脚本。你可以在下方的"命令"部分中进一步了解这些脚本。 |
| `config` | 此文件夹包含你自己的本地配置文件。 |
| `lib` | 此文件夹包含 Toolkit 使用的基础配置文件。 |
| `data` | 默认情况下，此文件夹是 MongoDb、Redis 和 Overleaf 的存储位置。更多信息请参阅下方的[持久化数据](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/overleaf-toolkit/files-and-locations.md#persistent-data)部分。 |

> [!WARNING]
>
> 我们建议**不要**直接修改 `/config` 文件夹以外的文件。如果需要进行更改，可以通过在 **config/variables.env** 或 **config/overleaf.rc** 中设置环境变量来实现。\
> 例如，要设置 `mongo` 服务的镜像，不要直接编辑 `lib/docker-compose.mongo.yml`，而应在 `config/overleaf.rc` 中使用环境变量 `MONGO_IMAGE` 来设置镜像。更多信息请参阅 [Toolkit 设置](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/overleaf-toolkit/toolkit-settings.md)页面。

> [!NOTE]
>
> 未经你的许可，Toolkit **不会**更改 `config/` 目录中的任何数据。

## 命令

请在 Toolkit 目录中运行这些脚本。每个脚本都可以通过 `--help` 显示其选项。

| 命令 | 作用 |
| - | - |
| `bin/init` | 首次在 `config/` 中创建配置文件。`bin/init --tls` 会添加 NGINX TLS 代理配置。 |
| `bin/up` | 创建并启动容器（`bin/docker-compose up`）。添加 `-d` 可在后台运行，而不是持续输出日志。每次修改 `config/` 后都请运行它：它会重新创建配置已更改的容器。 |
| `bin/start` | 重新启动现有容器（`bin/docker-compose start`）。它不会应用配置更改。 |
| `bin/stop` | 停止容器并保留它们（`bin/docker-compose stop`）。 |
| `bin/docker-compose` | 使用 Toolkit 的文件运行 `docker compose`，例如 `bin/docker-compose ps` 或 `bin/docker-compose restart sharelatex`。 |
| `bin/logs` | 显示或持续跟踪一个或多个服务的日志，例如 `bin/logs -f web`。 |
| `bin/error-logs` | 与 `bin/logs` 类似，但只显示错误。 |
| `bin/shell` | 在 `sharelatex` 容器内打开一个 shell。 |
| `bin/mongo` | 在 `sharelatex` 数据库上打开 MongoDB shell。 |
| `bin/run-script` | 运行 `sharelatex` 容器内自带的脚本。 |
| `bin/doctor` | 检查主机和配置，并输出一份可在寻求帮助时分享的报告。 |
| `bin/images` | 列出主机上的 Overleaf Docker 镜像。 |
| `bin/backup-config` | 将 `config/` 目录复制到备份位置（copy、zip 或 tar）。 |
| `bin/upgrade` | 分步更新 Toolkit 和 Overleaf 镜像，参见[升级部署](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/maintenance/upgrading-your-deployment.md)。 |
| `bin/rename-env-vars-5-0`、`bin/rename-rc-vars` | 将旧的 `SHARELATEX_*` 变量名一次性迁移为 `OVERLEAF_*`。 |

> [!WARNING]
>
> 当 `bin/up` 重新创建容器时，容器内所做的所有更改都会丢失，例如通过 `bin/shell` 安装的软件包或编辑的文件。只有数据目录（默认为 `data/`）和 `config/` 会被保留。请改为通过 `config/variables.env`、`config/overleaf.rc` 或 `config/docker-compose.override.yml` 进行持久性更改。

> [!NOTE]
>
> 如果每次运行 `bin/up` 都会使所有用户退出登录，请设置 `OVERLEAF_SESSION_SECRET`。没有它时，会话 Cookie 会使用每次重新创建容器时重新生成的密钥进行签名，参见[环境变量](https://ayakaleaf-pro.mintlify.site/zh-CN/on-premises/configuration/overleaf-toolkit/environment-variables.md)中的问答。


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