本地部署 Overleaf 服务
本地部署 Overleaf(ShareLaTeX)
克隆 Overleaf 仓库:
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit
进入 overleaf-toolkit 目录并生成配置文件:
bin/init
下载镜像并启动 Overleaf 容器:
bin/up
注意,Overleaf 脚本中使用的命令行工具均为 GNU 工具,如果你在 macOS 上启动 Overleaf 时遇到工具报错,有可能是你使用了 BSD 工具的原因。请使用 brew 安装相应工具的 GNU 版本。
Overleaf 镜像下载完成并启动之后我们可以按下 Ctrl + C 停止容器。
之后启动 Overleaf 的时候,可以使用下面的命令让 Overleaf 在后台运行:
bin/start
参考:Quick-Start Guide
注册管理员帐户
Overleaf 容器启动之后,我们可以打开 http://localhost/launchpad 注册管理员帐户。之后我们可以用这个帐户登录 Overleaf 服务。
安装宏包
Overleaf 镜像自带的宏包很少,为了编译我们的 LaTeX 文档,往往需要安装其他宏包。
在容器运行的状态下进入容器 Shell:
bin/shell
更新并安装全部宏包:
# 使用中科大镜像源
tlmgr repository set https://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet
tlmgr update --self --all
tlmgr install scheme-full
⚠️: 安装全部宏包的时间可能会很长
安装依赖包:
apt install ttf-mscorefonts-installer # 安装 Windows 字体包
apt install inkscape python3-pygments # 安装 TikZ & Syntax highlighter 依赖
参考:App+1 | 搭建本地版 Latex 编辑器,为你的毕业论文排版「减减负」
Troubleshooting
无法安装宏包
在安装宏包时你可能遇到如下错误:
tlmgr: Local TeX Live (2023) is older than remote repository (2024).
Cross release updates are only supported with
update-tlmgr-latest(.sh/.exe) --update
See https://tug.org/texlive/upgrade.html for details.
这是镜像使用的 TeX Live 版本过低导致的。如果你当前使用的不是最新的 ShareLaTeX 镜像,你可以使用下面的命令更新镜像:
bin/upgrade
如果你已经在使用最新的 ShareLaTeX 镜像,那说明官方还没有给最新的 TeX Live 打镜像。你可以更新当前容器中的 TeX Live 版本,也可以自己打一个包含新版 TeX Live 的镜像。
如果你要更新当前容器中的 TeX Live 版本,参考:Linux 更新 TeX Live
如果你要自己打镜像,参考:自制 ShareLaTeX 镜像
打开 Web 界面时遇到 502 错误
如果遇到 502 错误,可能是端口冲突导致的。进入 config/overleaf.rc 修改一下端口号:
OVERLEAF_PORT=8080
无法启动 ShareLaTeX 容器
如果你在运行 bin/up 的过程中遇到这样的错误提示:
Initiating Mongo replica set...
Rebranding from ShareLaTeX to Overleaf
Starting with Overleaf CE and Server Pro version 5.0.0 the environment variables will use the Overleaf brand.
Previous versions used the ShareLaTeX brand for environment variables.
Your config/variables.env has 60 entries matching 'OVERLEAF_', expected prefix 'SHARELATEX_'.
Please align your config/version with the naming scheme of variables in config/variables.env.
说明当前配置设置的 Overleaf 版本过低。我们需要使用大版本号为 5 以上的版本。
编辑 config/version,使用新的版本号替代旧的版本号。你可以在 Docker Hub 上查看最新的版本号:sharelatex/sharelatex
5.0.3