overleaf/toolkit
服务器部署overleaf/toolkit服务
记录一下折腾了好久本地服务,每次部署后都无法使用XeLaTeX编译,由于找不到合适解决办法,采用笨方法,导致每次都是删除镜像重新来过,而安装完整版的TexLive又十分的漫长,可以说是踩了个大坑,QAQ。
Docker 安装
参考官方链接,不再赘述。
克隆仓库
#克隆到用户根目录的ovealeaf文件夹下
git clone https://github.com/overleaf/toolkit.git ~/overleaf
修改配置文件
若需使用到XeLaTeX,需要在up之前修改配置文件。
cd lib
vim docker-compose.base.yml
修改后配置文件内容如下:
---
version: '2.2'
services:
sharelatex:
restart: always
image: "${IMAGE}"
container_name: sharelatex
volumes:
- "${SHARELATEX_DATA_PATH}:/var/lib/sharelatex"
ports:
- "${SHARELATEX_LISTEN_IP:-127.0.0.1}:${SHARELATEX_PORT:-8443}:80"
environment:
SHARELATEX_MONGO_URL: "${MONGO_URL}"
SHARELATEX_REDIS_HOST: "${REDIS_HOST}"
REDIS_HOST: "${REDIS_HOST}"
PATH: /usr/local/texlive/2022/bin/x86_64-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
env_file: ../config/variables.env
- 修改PATH内容为
PATH: /usr/local/texlive/2022/bin/x86_64-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- 同时可将ports的80端口修改为8443(此步可跳过,若不修改则为80)。
需注意的是,在up后,修改部分配置要再次up才能生效,这意味着若你安装了完整的LaTeX,up后需要再次安装。所以请在up前配置好文件。
启动镜像
bin/up
进入镜像,安装完整版TexLive
docker exec -it sharelatex /bin/bash
# 更换镜像源,这里使用清华的源,若地址改变,可访问:https://mirrors.tuna.tsinghua.edu.cn/help/CTAN/
tlmgr option repository https://mirrors.tuna.tsinghua.edu.cn/CTAN/systems/texlive/tlnet
tlmgr update --self
tlmgr install scheme-full
若 tlmgr update --self
更新失败,可用/usr/local/texlive/2022/bin/x86_64-linux/tlmgr update --all
其中的2022
需更换为tlgmr相应的目录,可 cd /usr/local/texlive/
进入文件夹查看。
安装完整版需要下载4千多个包,需等待许久。漫长等待QAQ
补全中文字体
安装完成后,重启镜像
exit
bin/restart
Windows
用户系统字体文件路径:C:\Windows\Fonts
macOS
用户系统字体文件路径:/System/Library/Fonts
以macOS
为例,把本地所有字体导入到服务器内
docker cp /System/Library/Fonts sharelatex:/usr/share/fonts/
刷新服务器缓存
# 进入容器内
docker exec -it sharelatex bash
cd /usr/share/fonts/ch_fonts
# 刷新缓存命令
fc-cache
# 查看字体缓存是否刷新
fc-list | grep ch_fonts
创建账号
访问本地服务localhost/launchpad:8443
,前面已经修改端口号为8443
,若未修改则无需加上端口号。
进入页面输入账号、密码,创建管理员账号。
PS:使用XeLaTeX的方法参考自Issues#1055,刚踩完一个坑,发博客的时候发现博客炸了!!!
至此,本地服务器上的overleaf已经搭建完成,且可以使用XeLaTeX编译中文的字体的.tex文件。