Overleaf本地搭建:Podman版
CentOS 8已默认使用Podman,故再写一个通过Podman启动Overleaf社区版(Sharelatex)的指南。
1 预备条件
本文在CentOS 8上测试通过,操作系统和相关工具版本如下:
安装Python和Podman Compose:
注意Podman Compose要选择devel版,稳定版会有bug。

2 构建服务
以下步骤参考了Overleaf official quick start guide:
新建目录,用于存放Podman Compose文件,目录名不能是“sharelatex”。
如果用了“sharelatex”,Podman Compose会先创建一个名为“sharelatex”的pod,然后根据下面的docker-compose.yml文件,创建一个名为“sharelatex”的container,与pod的名字会冲突。本人没研究过Podman,对pod不作探讨,索性选择改目录名。这点与Docker有差别。
新建以下目录:
Docker Compose会自动创建这些目录,但Podman Compose不会,需要手动创建。这些目录与docker-compose.yml中的配置是对应的。
复制以下代码到docker-compose.yml文件:
这个文件是直接从官方guide上复制的,但是针对Podman Compose,在Redis和Mongo那里添加了一行:
下面就可以启动服务了:

3 升级TexLive
Sharelatex采用TeXLive,相应的包和配置管理工具为tlmgr。参考tlmgr的官方文档:
将TeXLive升级到最新版,并安装所有package:
保存image,用于以后直接部署(可选):

4 中文支持
Sharelatex的Docker镜像基于Ubuntu,参考Ubuntu wiki:
只要将中文字体文件复制到container的/usr/share/fonts或/usr/local/share/fonts目录下即可:
可以先复制中文字体,再commit到镜像。实际使用时推荐xeCJK+XeLaTeX编译中文。