Windows部署本地版Overleaf教程

昨晚CVPR 2022 DDL前夜Overleaf崩了,所以有个本地Overleaf还是很重要且方便的。平时自己改文章用本地的,编译渲染仅需1~2秒;和别人共享的时候再用官方Overleaf。

具体步骤

1、进入官网 https://www.docker.com/get-started 下载安装windows版docker。安装后启动docker,如果出现WSL相关错误,按照提示操作即可。(比如作者当时遇到了某个WSL错误,通过下载安装【适用于x64计算机的WSL2 Linux内核更新包】解决)
2、打开Windows PowerShell 或cmd,拉取Overleaf 镜像。

docker pull sharelatex/sharelatex

3、进入 https://github.com/overleaf/overleaf/blob/old-master/docker-compose.yml 下载 docker-compose.yml 文件到本地。也可新建文本文件,复制代码,将文件名改为 docker-compose.yml
4、将 docker-compose.yml 第15行端口号"- 80:80"改为"- 9000:80"。这里的端口号可以随意设,本文以9000举例。
5、将 docker-compose.yml 放到一个想要放的目录下。步骤6第一次启动容器后,若更换yml文件目录,日后通过步骤6再次重启会报错。
6、启动容器。在 docker-compose.yml 文件所在目录下,按住shift单击鼠标右键打开Windows PowerShell 或cmd。执行

docker-compose up

7、启动完成后,通过 http://127.0.0.1:9000/ 来访问本地版Overleaf了。
8、此时Overleaf是不完整的,需下载完整版TeXLive。依次执行如下指令,更新tlmgr,更改中科大源,下载完整包,并commit。

docker exec sharelatex tlmgr update --self
docker exec sharelatex tlmgr option repository http://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet/
docker exec sharelatex tlmgr install scheme-full
docker commit sharelatex sharelatex/sharelatex:with-texlive-full

9、修改 docker-compose.yml 第7行,将其改为:

image: sharelatex/sharelatex:with-texlive-full

10、在Windows PowerShell 或cmd界面,先用Ctrl + C关掉步骤6启动的容器,然后再次执行

docker-compose up

11、完成后,通过 http://127.0.0.1:9000/ 即可使用本地版Overleaf了。但首次使用,需要先通过步骤12-14注册账户。
12、第一次登陆,需进入链接 http://127.0.0.1:9000/launchpad 注册管理员账号,这里使用A邮箱作为管理员账户名。
13、管理员账户,右上角Admin–Manage Users,输入B邮箱名,即可获得激活B邮箱的Url。(A和B邮箱名可以不是真实的邮箱名)
14、换一个浏览器,进入链接 http://127.0.0.1:9000/user/activate?token=……,即可激活B邮箱。
15、此后,通过 http://127.0.0.1:9000/ 使用B邮箱即可登录本地版Overleaf了。

备注

1、每次重启电脑后,使用本地版Overleaf前,需通过步骤6重启容器。
2、启动容器会占用4~9G不等的内存空间,电脑内存最好16G以上。
3、针对内容占用高的问题,可以用以下方法解决:。