参考
依赖安装
Docker-ce and Docker-compose
无需使用apt安装,运行sharelatex自带的.yml
文件即可自动配置。
Redis and Mongodb
$ sudo apt install redis-server
$ sudo apt install mongodb
安装ShareLaTeX
sharelatex
使用Docker安装sharelatex,tex编译环境默认为2017版本,后续将介绍如何更新。
$ docker pull sharelatex/sharelatex
Using a compose file
$ curl -O https://github.com/sharelatex/sharelatex/raw/master/docker-compose.yml
此时需要修改docker-compose.yml文件,配置文件信息。如果80端口已经被占用,需要修改如下选项,其中XX为使用的端口
services:
sharelatex:
ports:
- XX:80
进行下一步,部署sharelatex,并且添加管理员用户,邮箱需要自己修改,输入后会有链接显示在命令行,需要打开修改账户密码。
$ sudo docker-compose up
$ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email joe@example.com"
如此,就可以在特定的端口访问到sharelatex主页了。
登陆container的shell
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
056c250ddb2a sharelatex/sharelatex "/sbin/my_init" 15 hours ago Up 15 hours 0.0.0.0:1024->80/tcp sharelatex
8234a9e397e1 mongo "docker-entrypoint.s…" 17 hours ago Up 15 hours 27017/tcp mongo
79eb20131893 redis "docker-entrypoint.s…" 17 hours ago Up 15 hours 6379/tcp redis
sharelatex的container ID是056c250ddb2a,再执行
$ docker inspect -f 056c250ddb2a
14510
看到PID是14510,最后使用root登陆到sharelatex的shell了。
$ sudo nsenter --target 14510 --mount --uts --ipc --net --pid
root@056c250ddb2a:/#
TeXLive Update
升级TeXLive
docker exec sharelatex tlmgr install scheme-full
使用tlmgr升级TeXLive会有以下报错
tlmgr: Remote repository is newer than local (2017 < 2018)
Cross release updates are only supported with
update-tlmgr-latest(.sh/.exe) --update
Please see https://tug.org/texlive/upgrade.html for details.
根据提示去寻找update-tlmgr-latest.sh进行配置。
root@056c250ddb2a:/# wget http://mirror.ctan.org/systems/texlive/tlnet/update-tlmgr-latest.sh
root@056c250ddb2a:/# sh update-tlmgr-latest.sh
最后更新tlmgr,接下来的任务就是等待了。
root@056c250ddb2a:/# tlmgr option repository http://mirrors.ustc.edu.cn/CTAN/systems/texlive/tlnet
root@056c250ddb2a:/# tlmgr install scheme-full
配置中文字体
参考ArchLinux 部署ShareLaTex并且配置中文支持,方法适用。
成果
Iydon