自建Overleaf¶
最近在更新之前写的高中数学讲义,气人的是讲义的页数多起来之后Overleaf就一直编译超时。
囊中羞涩但又不想放弃overleaf,无奈只能自己假设一个overleaf服务器。
感谢Overleaf开源的代码!!
部署¶
感谢伟大的Docker,我们想要在自己的服务器部署Overleaf是非常简单的。
Step 1 下载源码¶
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit && cd overleaf-toolkit
overleaf-toolkit提供的脚本
下载完源码之后,我们就可以使用overleaf-toolkit提供的脚本来管理容器了。
在./bin
文件夹下,有以下这些脚本可以使用:
backup-config
docker-compose
doctor
error-logs
images
init
logs
mongo
rename-env-vars-5-0
rename-rc-vars
shell
start
stop
up
upgrade
Step 2 初始化配置¶
bin/init
这条命令会在./config
目录生成三个文件:
overleaf.rc variables.env version
Step3 启动服务器¶
bin/up
docker compose up
的封装,相当于构建+启动容器集群。 Step4 开始使用¶
然后就完了,就完了!!实在是不能更简单了。
自定义配置¶
如果你想要在局域网或者广域网访问该服务(默认只能本机访问),需要做一些修改。
修改监听IP和端口¶
在./config/overleaf.rc
中,需要修改以下字段:
OVERLEAF_LISTEN_IP=0.0.0.0 # 监听所有的IP
OVERLEAF_PORT=9999 # 默认是80端口
自定义网站名称、管理员邮箱¶
在./config/variables.env
文件中,修改:
OVERLEAF_APP_NAME="yang's Overleaf Instance"
OVERLEAF_SITE_URL=???
OVERLEAF_NAV_TITLE="yang's Overleaf Instance"
[email protected]
如何应用修改?
修改完配置文件之后,需要重新build才可以应用配置。
bin/down && bin/up
你可能还需要配置STMP服务器¶
但我懒得弄了。
在管理员新建用户的时候,(大概)可以自动给该邮箱发送注册信息:
下载tex宏包¶
默认情况下,overleaf使用texlive,并且宏包是不全的。如果想要安装宏包需要以下步骤:
Step1 进入Docker容器¶
bin/shell
Step2 安装宏包¶
下面的代码来自xlz.pub
# 下载并运行升级脚本
wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
sh update-tlmgr-latest.sh -- --upgrade
# 更换texlive的下载源
tlmgr option repository https://mirrors.sustech.edu.cn/CTAN/systems/texlive/tlnet/
# 升级tlmgr
tlmgr update --self --all
# 安装完整版texlive(时间比较长,不要让shell断开)
tlmgr install scheme-full
# 你也可以安装一些其他的宏包
tlmgr install tikzlings tikzmarmots tikzducks
Step3 commit镜像¶
docker commit sharelatex sharelatex/sharelatex:with-texlive-full
Step4 重新构建容器¶
在./config
目录下新建一个docker-compose.override.yml
文件:
---
version: '2.2'
services:
sharelatex:
image: sharelatex/sharelatex:with-texlive-full
bin/stop && bin/docker-compose rm -f sharelatex && bin/up
Upgrade
Note that you will need to remove this committed container and repeat these steps when you upgrade overleaf.
此致。
Last update: 2024-08-20 00:11:59
Created: 2024-04-27 23:21:38
Created: 2024-04-27 23:21:38