为什么要本地搭建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-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下载需要一段时间,国内速度太慢可以选择使用镜像站点,参见
下载docker-compose.yml文件
overleaf在github上提供了构建sharelatex的yml文件,下载即可链接 (可能打不开,可以自定义域名解析,详见百度)
下载好后修改以下内容
- 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
更多个性化设置
- 设置环境变量:详见overleaf官方wiki
特别的,设置
SHARELATEX_SITE_LANGUAGE : cn
即可把语言切换成中文
- 通过内网穿透将其放在公网访问
Loading Comments...