Skip to main content
模板库运行在每个 Ayakaleaf Pro pod 的 web 服务(template-gallery 模块)中;同一 pod 中的 filestore 服务负责存储模板文件并渲染其预览。分类、权限和发布请参见模板。

配置

1

ConfigMap

30-config.yaml (additions)
2

模板用户(可选)

管理员始终可以发布模板。要让非管理员用户管理模板库,请创建该用户,从 MongoDB 中读取其 ID 并将其放入 ConfigMap:
3

应用并重启

多个副本

  • 模板文件必须存储在 S3 中:如果文件保存在每个副本自己的磁盘上,每个节点显示的模板库都会不同。水平扩展 的配置已经使用了存储桶 overleaf-template-files。
  • 发布时会使用项目最近一次编译的 PDF,而该 PDF 仅存在于执行编译的副本上。负载均衡器的粘性 cookie 会将用户保持在该副本上,因此请在执行编译的同一浏览器会话中发布。

在 Kubernetes 上的测试

在 Kubernetes 1.37 上,以三个副本部署在 HAProxy 之后,并将模板文件存储在 S3 存储桶 overleaf-template-files(Garage)中,我们针对模板库的端到端测试全部通过(41 个用例):从“文件”菜单发布已编译的项目,并从存储桶提供 PDF、预览图片和源码 ZIP;从模板创建项目;模板库的分类、搜索、排序和分页;编辑、覆盖和删除模板;管理员、普通用户以及 OVERLEAF_TEMPLATES_USER_ID 所指定的模板用户(其 ID 按上述方式从 MongoDB 读取)的权限;以及格式错误的请求。
最后修改于 2026年11月2日