本地搭建sharelatex协作服务器

为什么要本地搭建sharelatex协作web应用

有一个网站,叫做overleaf,是一个非常好用的latex在线编辑网站,集协作、聊天、latex代码补全等多种功能为一体的latex写作网站,最重要的是,debug比较容易,出现小错误也会强制编译成功,非常适合新手。然而,这个网站的服务器在国外,网络连接不太稳定,科学上网也常常会出现连接中断的情况,很烦。一次偶然的情况下,我发现overleaf居然在github上开源了,而且还可以用docker一键本地部署,于是开始操作起来。

安装docker-ce

dokcer-ce是较新版本的docker,而且是社区版。我的使用的系统是的deepin15.11,也许由于某些问题(我太菜了),我无法正常使用mongo,因此我在使用VMware创建了一个ubuntu server 18.04,在此server上安装docker-ce。
卸载老版本

sudo apt-get remove docker docker-engine docker.io

从apt源安装

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
sudo apt-get update
sudo apt-get install docker-ce

安装好了之后,验证是否安装成功。

sudo docker -v


UTOOLS1586352347164.png
这表示安装成功,版本为19.03.8。因为我是在一个单独的虚拟机上跑docker,而且这个虚拟机只跑某一个服务,因此我没有设置docker用户组,直接用sudo权限运行docker。要想设置普通用户使用docker,参见
【Docker】非root用户加入docker用户组省去sudo (三)

安装docker-compose

这是一个协同多个docker容器的工具,而且可以更加容易的设置环境变量。
输入以下代码安装docker-compose 1.25.4(速度较慢)

curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

输入以下命令

docker-compose -v           

出现以下信息则表示安装成功

UTOOLS1586352886310.png

pull images

sharelatex官方的image是不包括完整的textlive的,需要自行安装完整版,这里我找到了其他开发者已经集成texlive-2019完整版的sharelatex,依次输入以下命令

sudo docker pull mongo
sudo docker pull redis
sudo docker pull flodointhecloud/sharelatex-texlive2019

完整版texlive的镜像大约9G多,pull下载需要一段时间,国内速度太慢可以选择使用镜像站点,参见
https://blog.csdn.net/whatday/article/details/86770609

下载docker-compose.yml文件

overleaf在github上提供了构建sharelatex的yml文件,下载即可链接 (可能打不开,可以自定义域名解析,详见百度)
下载好后修改以下内容

  1. container_name改为flodointhecloud/sharelatex-texlive2019

运行sharelatex

进入docker-compose.yml所在的目录,输入以下命令

sudo docker-compose up 

稍等片刻,就启动成功了。
VMware设置桥接网络,输入虚拟机的ip地址即可进入sharelatex的主页,我这里是http://192.168.1.8/

UTOOLS1586354080411.png
输入http://192.168.1.8/launchpad设置第一个管理员,设置完成后输入你的设置信息即可登录成功。

UTOOLS1586354054553.png

更多个性化设置

  1. 设置环境变量:详见overleaf官方wiki
  2. 通过内网穿透将其放在公网访问

参考文献

ubuntu 18.04 安装docker ce
docker-compose releases页面