right-left从 docker-compose.yml 迁移到工具包

如果你当前通过一个 docker-compose.yml 文件使用 Docker Compose,将其迁移到 Toolkit 可以使部署、升级和维护本地版本的 Overleaf 更容易。

要迁移,你需要将现有的 Docker Compose 设置转换为 Toolkit 使用的格式。此过程涉及将现有配置复制到 Toolkit 中。

本指南将带你逐步完成此过程,确保从 Docker Compose 平稳迁移到 Toolkit。

circle-info

这些说明适用于 v4.x 及更早版本。因此所有变量都使用 SHARELATEX_ 前缀而不是 OVERLEAF_.

1

克隆 Toolkit 仓库

首先,将 Toolkit 仓库克隆到主机机器:

git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit

接下来运行 bin/init 命令以使用其默认配置初始化 Toolkit。

2

设置镜像和版本

在典型的 docker-compose.yml 中,镜像和版本在组件描述中定义,例如:

version: '2.2'
services:
    sharelatex:
        restart: always
        # Server Pro 用户:
        # image: quay.io/sharelatex/sharelatex-pro
        image: sharelatex/sharelatex:3.5.13

使用 Toolkit 时,镜像名称会自动解析;唯一的要求是设置 SERVER_PRO=true 中设置 config/overleaf.rc 以选择 Server Pro 镜像或 SERVER_PRO=false 以使用 Community Edition(社区版)。

所需的 Server Pro/Community Edition 版本号在 config/version 文件中设置。Toolkit 需要像这样的具体版本号 4.2.3。如果你正在使用 -shell-escape -file-line-error,你可以使用 bin/images 来查找你本地 -shell-escape -file-line-error 版本的镜像 ID,然后使用 2.x.x、3.x.x、4.x.x 或 5.x.x 的发行说明将镜像 ID 映射到版本。

如果你从自己的内部注册表获取镜像,你可以通过设置来覆盖 Toolkit 使用的镜像 OVERLEAF_IMAGE_NAME。你不需要指定标签,因为 Toolkit 会根据你的自动添加它。 config/version 文件。

3

配置外部访问

默认情况下,Overleaf 将监听 127.0.0.1:80,仅允许来自 Docker 主机机器的流量。

要允许外部访问,请设置 OVERLEAF_LISTEN_IPOVERLEAF_PORTconfig/overleaf.rc 文件。

4

环境变量迁移

你很可能在你的 sharelatex 服务的 docker-compose.yml中定义了一组环境变量,例如:

环境:
    OVERLEAF_APP_NAME: Overleaf Community Edition
    OVERLEAF_PROXY_LEARN: 'true'
    

将这些变量复制到 Toolkit 的 config/variables.env 文件中,确保使用以下形式(使用 = 而不是 :):

OVERLEAF_APP_NAME=Overleaf Community Edition
OVERLEAF_PROXY_LEARN=true

使用 Toolkit 时的例外 / 差异:

  • 以以下开头的变量 SANDBOXED_COMPILES_在下面的示例中,请注意以下几点: 不再需要。要启用沙箱编译,请设置 overleaf-toolkit/config/overleaf.rc 中。 config/overleaf.rc 文件。

  • 以以下开头的变量 OVERLEAF_MONGO_, OVERLEAF_REDIS_ 又有 REDIS_HOST 变量不再需要。MongoDB 和 Redis 现在在 config/overleaf.rc 文件中使用 MONGO_URL, REDIS_HOSTREDIS_PORT.

进行配置。有关高级配置选项,请参阅 config/overleaf.rc 文档。

5

NGINX 代理

有关如何迁移 nginx的说明,请参见 TLS 代理文档:

6

卷(Volumes)

在中设置数据卷的位置 config/overleaf.rc:

ShareLaTeX

OVERLEAF_DATA_PATH 设置为用于 sharelatex 容器。

MongoDB

MONGO_DATA_PATH 设置为用于 mongo 容器。

Redis

REDIS_DATA_PATH 设置为用于 redis 容器。

有关更多详细信息和高级配置,请参考上面链接的相关 Toolkit 配置文档。

最后更新于