docker-compose.yml 文件使用 Docker Compose,迁移到 Toolkit 可以让本地部署版 Overleaf 的部署、升级和维护变得更加容易。
要进行迁移,你需要将现有的 Docker Compose 设置转换为 Toolkit 所使用的格式。此过程包括将现有配置复制到 Toolkit 中。
本指南将逐步引导你完成整个过程,确保从 Docker Compose 平稳迁移到 Toolkit。
这些说明适用于 v4.x 及更早版本。因此所有变量都使用
SHARELATEX_ 前缀,而不是 OVERLEAF_。1
克隆 Toolkit 仓库
首先,将 Toolkit 仓库克隆到宿主机:接下来运行
bin/init 命令,使用默认配置初始化 Toolkit。2
设置镜像和版本
在典型的 使用 Toolkit 时,镜像名称会自动解析;唯一的要求是在 config/overleaf.rc 中设置
docker-compose.yml 中,镜像和版本定义在组件描述中,例如:SERVER_PRO=true 以选择 Server Pro 镜像,或设置 SERVER_PRO=false 以使用 Community Edition。所需的 Server Pro/Community Edition 版本号在 config/version 文件中设置。Toolkit 需要一个具体的版本号,例如 4.2.3。如果你使用的是 latest,可以使用 bin/images 查找本地 latest 版本的镜像 ID,然后通过 2.x.x、3.x.x、4.x.x 或 5.x.x 的发布说明将镜像 ID 对应到具体版本。如果你从自己的内部镜像仓库获取镜像,可以通过设置 OVERLEAF_IMAGE_NAME 来覆盖 Toolkit 使用的镜像。你无需指定标签,因为 Toolkit 会根据 config/version 文件自动添加。3
配置外部访问
默认情况下,Overleaf 将监听
127.0.0.1:80,只允许来自 Docker 宿主机的流量。要允许外部访问,请在 config/overleaf.rc 文件中设置 OVERLEAF_LISTEN_IP 和 OVERLEAF_PORT。4
迁移环境变量
你的 将这些变量复制到 Toolkit 的 config/variables.env 文件中,并确保采用以下格式(使用 使用 Toolkit 时的例外 / 差异:
docker-compose.yml 中的 sharelatex 服务很可能定义了一组环境变量,例如:= 而不是 :):- 以
SANDBOXED_COMPILES_和DOCKER_RUNNER开头的变量不再需要。要启用沙盒编译,请在 config/overleaf.rc 文件中设置SIBLING_CONTAINERS_ENABLED=true。 - 以
OVERLEAF_MONGO_、OVERLEAF_REDIS_开头的变量以及REDIS_HOST变量不再需要。MongoDB 和 Redis 现在在 config/overleaf.rc 文件中通过MONGO_URL、REDIS_HOST和REDIS_PORT进行配置。
5
NGINX 代理
有关如何迁移
nginx 的说明,请参见 TLS 代理文档:
