overleaf本地部署

导言

overleaf是一款开源的在线实时协作latex编辑器,可以在线访问www.overleaf.com来进行编辑,但是目前在线版的编译时长被限制在了20s以内,所以更推荐在本地进行部署overleaf,在本地进行latex文档的编写

简介

在本地部署overleaf基于开源项目Overleaf Toolkit,该项目是本地部署overleaf本地实例的标准工具。Overleaf Toolkit基于docker技术,便于开发人员在任何地方构建、共享、运行和验证应用程序——无需繁琐的环境配置或管理。本教程的部署建立在wsl2和Docker Desktop上,如果不知道怎么安装wsl2和Docker Desktop,请参考wsl2安装教程docker官方网站

部署过程

首先我们把git储存库clone下来,打开wsl2并在终端输入

1
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
然后进入该目录
1
cd ./overleaf-toolkit
该工具使用docker compose包装和处理大部分细节,我们使用如下命令初始化docker服务
1
bin/init
此时你应该看到config被创建,我们利用如下命令启动docker服务
1
bin/up
你应该会看到来自 docker 容器的一些日志输出,表明容器正在运行。按下ctrl + c可以终止docker服务。然后再输入

1
bin/start

可以忽略日志输出到终端而运行docker服务。
此时在浏览器中打开http://localhost/launchpad.可以设置管理员账户和密码,然后按照指引点击链接可以进入登录界面,然后就可以创建第一个本地overleaf项目了。

修改TexLive版本

overleaf的官方为了节省带宽,在git存储库里只存储了了一个最小化的TexLive版本,为了编译更复杂的文档,我们需要把这个最小化的TexLive换为完整的版本
我们打开docker desktop alt text1 点进sharelatex alt text1 进入Exec(sharelatex的终端),然后输入以下命令进入sharelatex的容器的文件夹

1
cd /usr/local/texlive
下载更新文件
1
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh --no-check-certificate
执行更新操作
1
sh update-tlmgr-latest.sh -- --upgrade
换国内源提速
1
tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet/
更新
1
tlmgr update --self --all # luaotfload-tool -fu
安装
1
tlmgr install scheme-full
然后经历漫长的等待之后,关闭overleaf的容器再重启,此时TexLive已经更新为完整版,overleaf本地版部署成功。