参见Docker-ce与Docker-compose。html
无需使用apt安装,运行sharelatex自带的.yml
文件便可自动配置。linux
$ sudo apt install redis-server $ sudo apt install mongodb
使用Docker安装sharelatex,tex编译环境默认为2017版本,后续将介绍如何更新。git
$ docker pull sharelatex/sharelatex
$ curl -O https://github.com/sharelatex/sharelatex/raw/master/docker-compose.yml
此时须要修改docker-compose.yml文件,配置文件信息。若是80端口已经被占用,须要修改以下选项,其中XX为使用的端口github
services: sharelatex: ports: - XX:80
进行下一步,部署sharelatex,而且添加管理员用户,邮箱须要本身修改,输入后会有连接显示在命令行,须要打开修改帐户密码。redis
$ sudo docker-compose up $ docker exec sharelatex /bin/bash -c "cd /var/www/sharelatex; grunt user:create-admin --email joe@example.com"
如此,就能够在特定的端口访问到sharelatex主页了。mongodb
$ 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
$ docker inspect -f 056c250ddb2a 14510
看到PID是14510,最后使用root登录到sharelatex的shell了。shell
$ sudo nsenter --target 14510 --mount --uts --ipc --net --pid root@056c250ddb2a:/#
升级TeXLiveubuntu
docker exec sharelatex tlmgr install scheme-full
使用tlmgr升级TeXLive会有如下报错bash
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而且配置中文支持,方法适用。