群晖docker搭建sharelatex服务

一.前言

效果图:(可以看到是支持中文的)
群晖docker搭建sharelatex服务 - 图1
为什么要搭建一个在线的Latex服务呢?

1.便携性:只要有网就可以直接用latex,不需要在其他的电脑上再安装latex软件,要知道一个texlive安装包好几个G,非常费时间,这样可以省去很多步骤,再就是跨平台,不需要再下专门的软件,直接在web端访问即可。
2.协同性:自己写的latex可以在线分享给其他人,一起编辑一起写作。
3.免费性:我们看看overleaf的情况
群晖docker搭建sharelatex服务 - 图2
可以看到,免费版的基本就是一个弱鸡,啥也干不了,不能合作编辑,编译时间只有一分钟,其他的什么都高级功能都不能搞,overleaf本来网速就卡,现在限制这么多还不如自己搞一个服务器,划算多了。

二.安装sharelatex(overleaf)

这个我在网上查过很多资料,官方也是有相关的教程的,但是官方的教程,sharelatexmongoredis要同时配置,特别特别的麻烦,开始的时候我确实用的这些来搞得,但是搞得人很憔悴很麻烦!完全是折磨人,而且后来还不能支持编辑中文,后来的话我找到一篇csdn的博客是可以一键部署而且可以编译中文,很爽的。


下面是具体的步骤
打开群晖docker,
群晖docker搭建sharelatex服务 - 图3
选择用URL添加加入这个:https://registry.hub.docker.com/r/kingsleyluoxin/sharelatex 链接然后下载就行了。(这个完整包贴别大所以需要耐心等待)

在docker注册表哪里
群晖docker搭建sharelatex服务 - 图4
输入国内的镜像:
1.网易
http://hub-mirror.c.163.com
2.Docker中国区官方镜像
https://registry.docker-cn.com
3.中国科技大学
https://docker.mirrors.ustc.edu.cn
4.阿里云容器 服务
https://cr.console.aliyun.com
我自己用感觉网易的和中国科技大学的比较快。

安装好之后再就是设置端口
群晖docker搭建sharelatex服务 - 图5
红线部分的必须填80和443,其他地方都是可以填随便填。设置好端口之后就可以启动了。

三.设置sharelatex(overleaf)

1.设置管理员

我这里设置的80对应的端口号是7777,所以我输入我的192.168.1.108:7777//launchpad (前面的192.168.1.108是群晖的本地域名,每个人都不一样)设置管理员账号,需要注意的是必须****@****.com的类型的邮箱,用其他类型的邮箱,比如****@****.cn这种就不行,设置好了之后就可以开始操作了,可以写文章了

2.域名设置

这里假设你开启了外网的服务,如果没有外网的服务那就不用设置,在docker的环境变量填入
SHARELATEX_SITE_URL后面跟着你的域名
群晖docker搭建sharelatex服务 - 图6

3.设置邮箱注册

我这里用的qq的smtp服务,具体的怎么开启可以百度。
(下面这些都是要必填的)

  • SHARELATEX_EMAIL_SMTP_HOST: SMTP的的域名,qq的是 smtp.qq.com
  • SHARELATEX_EMAIL_SMTP_PORT: SMTP的端口号,qq的是465
  • SHARELATEX_EMAIL_SMTP_SECURE: 填true开启ssl
  • SHARELATEX_EMAIL_SMTP_USER: 你的SMTP的用户名,如果是qq就是你的qq邮箱用户名****@qq.com
  • SHARELATEX_EMAIL_SMTP_PASS: SMTP的密码,不是qq密码
  • SHARELATEX_EMAIL_SMTP_TLS_REJECT_UNAUTH: 填true

更多的可以看官方的说明 https://github.com/overleaf/overleaf/wiki/Configuring-SMTP-Email

4.内网穿透的反向代理设置

在宝塔面板里面的反向代理哪里这样填

  1. #PROXY-START/
  2. location ~* \.(php|jsp|cgi|asp|aspx)$
  3. {
  4. proxy_pass 你的域名:端口号;
  5. proxy_set_header Host $host;
  6. proxy_set_header X-Real-IP $remote_addr;
  7. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  8. proxy_set_header REMOTE-HOST $remote_addr;
  9. }
  10. location /
  11. {
  12. proxy_pass 你的域名:端口号;
  13. proxy_set_header Host $host;
  14. proxy_set_header X-Real-IP $remote_addr;
  15. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  16. proxy_set_header REMOTE-HOST $remote_addr;
  17. proxy_http_version 1.1;
  18. proxy_set_header Upgrade $http_upgrade;
  19. proxy_set_header Connection 'Upgrade';
  20. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  21. proxy_read_timeout 3m;
  22. proxy_send_timeout 3m;
  23. add_header X-Cache $upstream_cache_status;
  24. #Set Nginx Cache
  25. proxy_ignore_headers Set-Cookie Cache-Control expires;
  26. add_header Cache-Control no-cache;
  27. expires 12h;
  28. }
  29. #PROXY-END/

上面的只有你的域名:端口号需要改,其他的都别改。

5.注意事项

不要用不规范的邮箱注册,只能用:结尾是@example.com这种的域名不能是别的!

四.参考文章