群晖docker搭建sharelatex服务
一.前言
效果图:(可以看到是支持中文的)
为什么要搭建一个在线的Latex服务呢?
1.便携性:只要有网就可以直接用latex,不需要在其他的电脑上再安装latex软件,要知道一个texlive安装包好几个G,非常费时间,这样可以省去很多步骤,再就是跨平台,不需要再下专门的软件,直接在web端访问即可。
2.协同性:自己写的latex可以在线分享给其他人,一起编辑一起写作。
3.免费性:我们看看overleaf的情况
可以看到,免费版的基本就是一个弱鸡,啥也干不了,不能合作编辑,编译时间只有一分钟,其他的什么都高级功能都不能搞,overleaf本来网速就卡,现在限制这么多还不如自己搞一个服务器,划算多了。
二.安装sharelatex(overleaf)
这个我在网上查过很多资料,官方也是有相关的教程的,但是官方的教程,sharelatex
、mongo
和 redis
要同时配置,特别特别的麻烦,开始的时候我确实用的这些来搞得,但是搞得人很憔悴很麻烦!完全是折磨人,而且后来还不能支持编辑中文,后来的话我找到一篇csdn的博客是可以一键部署而且可以编译中文,很爽的。
下面是具体的步骤
打开群晖docker,
选择用URL
添加加入这个:https://registry.hub.docker.com/r/kingsleyluoxin/sharelatex 链接然后下载就行了。(这个完整包贴别大所以需要耐心等待)
在docker注册表哪里
输入国内的镜像:
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
我自己用感觉网易的和中国科技大学的比较快。
安装好之后再就是设置端口
红线部分的必须填80和443,其他地方都是可以填随便填。设置好端口之后就可以启动了。
三.设置sharelatex(overleaf)
1.设置管理员
我这里设置的80对应的端口号是7777,所以我输入我的192.168.1.108:7777//launchpad (前面的192.168.1.108
是群晖的本地域名,每个人都不一样)设置管理员账号,需要注意的是必须用****@****.com
的类型的邮箱,用其他类型的邮箱,比如****@****.cn
这种就不行,设置好了之后就可以开始操作了,可以写文章了
2.域名设置
这里假设你开启了外网的服务,如果没有外网的服务那就不用设置,在docker的环境变量填入SHARELATEX_SITE_URL
后面跟着你的域名
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.内网穿透的反向代理设置
在宝塔面板里面的反向代理哪里这样填
#PROXY-START/
location ~* \.(php|jsp|cgi|asp|aspx)$
{
proxy_pass 你的域名:端口号;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
}
location /
{
proxy_pass 你的域名:端口号;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'Upgrade';
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_read_timeout 3m;
proxy_send_timeout 3m;
add_header X-Cache $upstream_cache_status;
#Set Nginx Cache
proxy_ignore_headers Set-Cookie Cache-Control expires;
add_header Cache-Control no-cache;
expires 12h;
}
#PROXY-END/
上面的只有你的域名:端口号
需要改,其他的都别改。
5.注意事项
不要用不规范的邮箱注册,只能用:结尾是@example.com
这种的域名不能是别的!
四.参考文章
- https://www.bilibili.com/read/cv6547551
- https://blog.csdn.net/qq_32460819/article/details/109328424
- https://www.cryogeny.cn/428.html
- https://blog.csdn.net/kingsleyluoxin/article/details/105613144?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-2&spm=1001.2101.3001.4242
- https://github.com/overleaf/overleaf/wiki/Configuring-SMTP-Email
- https://github.com/overleaf/overleaf/wiki/Configuring-Overleaf