告别 LaTeX 配置地狱:我的 Overleaf (ShareLaTeX-CE) 完整版私有化部署方案
HI! 作为一个经常和 LaTeX 打交道的人,我深知本地配置 TeX Live 环境有多么令人头疼。
适用于需要写论文, 基于latex模板的简历编写等期刊. 对于科研人需求更大, 包含了免费的多人协同编写和无限制的编译时间
- 改博客内容基于我的本地部署overleaf服务帮助latex论文编写博客内容进一步自动化和便捷化. 同时解决了兼容性问题.
因此,我基于官方 Docker 镜像,创建了一个完整的私有化部署方案 xuhe2/sharelatex-ce,旨在解决部署中的两大痛点:缺少宏包和硬件兼容性。
痛点一:宏包缺失问题一次解决
官方提供的基础版 Overleaf Docker 镜像往往只包含最基础的 TeX Live 宏包。每当我们引入一个新的 .sty 文件,却发现编译报错,就得手动进入容器安装,非常繁琐。
在我的这个方案中,我在 Dockerfile 构建过程中集成了 完整的 TeX Live 安装。这意味着您部署完成后,几乎可以支持所有主流和非主流的 LaTeX 宏包,彻底告别“缺少文件”的编译错误,开箱即用。
痛点二:老旧硬件的兼容性考量(AVX 问题)
在私有化部署社区中,许多用户反映在不带 AVX 指令集 的老旧服务器或 NAS 上运行 MongoDB 时会失败,导致整个 Overleaf 服务无法启动。这是因为新版 MongoDB 对 CPU 架构有了更高的要求。
为了解决这个兼容性问题,我的镜像方案特意采用了兼容性更好的老版本 MongoDB 和 ShareLaTeX 基础镜像。虽然这牺牲了新版本的一些特性,但保证了它能在最广泛的硬件环境中稳定运行,让您的私有化部署不再受硬件限制。
部署与配置,一步到位
整个部署流程通过 Docker Compose 实现,非常便捷:
- 构建镜像: 使用提供的
Dockerfile构建包含完整 TeX Live 的镜像。 - 一键启动: 使用
docker-compose up -d启动 Overleaf、MongoDB 和 Redis 三大核心服务。 - 初始化 MongoDB 副本集: 部署后,通过一条
docker exec命令初始化 MongoDB 副本集,确保 Overleaf 的所有功能正常启用。
如果您正计划私有化部署一个稳定、兼容性好且宏包齐全的 Overleaf 环境,欢迎访问我的 GitHub 仓库 xuhe2/sharelatex-ce,查看详细的部署指南和 README 内容。
喜欢的请点一个STAR
- 为了防止硬盘故障导致overleaf项目文件丢失, 我还编写了Overleaf项目文件同步工具: olsync博客, 制作了olsync工具辅助文件自动化备份本地.
希望这个项目能帮助大家更专注于内容创作.
告别 LaTeX 配置地狱:我的 Overleaf (ShareLaTeX-CE) 完整版私有化部署方案的更多相关文章
- Genymotion配置及使用教程(最新最完整版附各部分下载地址)
Genymotion配置及使用教程(最新最完整版附各部分下载地址) FROM:http://blog.csdn.net/beiminglei/article/details/13776013 早都听说 ...
- IIS下配置Php+Mysql+zend的图文教程(完整版)
网上有很多关于PHP在IIS下配置的教程,但都是一些很理性化的东西,我从里面整理出来这个教程 发出来为了方便参考,,有什么问题也可以大家一起交流,,如果有什么不对的地方,请指正.. 下面的教程都是在w ...
- MySQL5.6 Replication主从复制(读写分离) 配置完整版
MySQL5.6 Replication主从复制(读写分离) 配置完整版 MySQL5.6主从复制(读写分离)教程 1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTI ...
- rip路由协议 细节分析及实例配置【完整版】
rip路由协议 细节分析及实例配置[完整版] RIP呢,这是一个比较重要的知识点,所以它的知识覆盖面很广泛:但是呢,我将会对碰到的问题进行一些分析解刨(主要是为了帮助自己理清思维):也希望能够从中发现 ...
- Android studio gradle配置完整版(转)
Android studio gradle配置完整版https://my.oschina.net/u/1471093/blog/539075 Android studio 自定义打包apk名 - pe ...
- springmvc web.xml和application.xml配置详情(附:完整版pom.xml)
web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="htt ...
- vue-multi-module【多模块集成的vue项目,多项目共用一份配置,可以互相依赖,也可以独立打包部署】
基于 vue-cli 2 实现,vue 多模块.vue多项目集成工程 Github项目地址 : https://github.com/BothEyes1993/vue-multi-module 目标: ...
- 魔改xxl-job,彻底告别手动配置任务!
原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 哈喽大家好啊,我是Hydra. xxl-job是一款非常优秀的任务调度中间件,轻量级.使用简单.支持分布式等优点,让它广泛应用在我们的项目中,解 ...
- ubuntu14.04+sublime3+latex配置
目的:用题目所说的三个东西写论文. 配置方法:参考 http://blog.csdn.net/bleedingfight/article/details/72810606, 但该博客所提的texliv ...
- LATEX配置
字体: options->options interface->font schems->font FONT_NAME="Times New Roman"FONT ...
随机推荐
- CF1990D Grid Puzzle 题解
CF1990D Grid Puzzle DP 好题.考虑分析两种操作的性质,不难发现操作 \(1\) 至多只能涂白 \(4\) 个方格,而操作 \(2\) 可以涂白的方格取决于这一行的方格数,几乎无上 ...
- 前端开发系列073-JQuery篇之源码核心
本文介绍jQuery 源码的主体结构和关键细节. jQuery是前端开发中绕不开的一个框架,在React和Vue等框架出现前,jQuery无疑是前端开发主流技术栈中不可或缺的框架.它为我们提供了强大的 ...
- HEX and BIN 的不同
转载自http://bbs.21ic.com/icview-126904-1-1.html HEX文件和BIN文件是我们经常碰到的2种文件格式.下面简单介绍一下这2种文件格式的区别:1 - HEX文件 ...
- shell 一下子创建多个 文件 和文件夹
#!bin/bash seq -f "led%01g" 0 35| xargs mkdir for((i = 0;i<36;i++)) do led="led&qu ...
- API服务平台,可视化编排流程
RestCloud API服务编排平台是指把微服务发布的API或业务系统的API服务接口(Restful.WebService.Dubbo)按照一定的业务逻辑和流程进行可视化编排的功能,编排后的API ...
- C# Lua 获取指定字符中间的字符串 正则表达式获取括号里面的字符串
实例代码:获取 [] 里面的内容 Lua版本 print('-----------------') for s in string.gmatch('pp[1g1]ppp[1jj2]pp[1413]pp ...
- B - Blow up the Enemy
https://vjudge.net/contest/386568#problem/B Zhang3 is playing a shooting game with Father. In the ga ...
- Redis淘汰策略有哪些
Redis的淘汰策略有以下几种: 1. volatile-lru(最近最少使用):从已设置过期时间的键中,选择最近最少使用的键进行淘汰. 2. volatile-ttl:从已设置过期时间的键中,选择剩 ...
- [题解]AtCoder Beginner Contest 416(ABC416) A~E
补题中~ A - Vacation Validation 枚举判定. 时间复杂度\(O(n)\). 点击查看代码 #include<bits/stdc++.h> using namespa ...
- [题解]POJ3675 Telescope——求多边形与圆相交部分的面积
POJ3675 Telescope 题意简述 多测.每次给定一个\(N\)边形(保证相邻输入的顶点在多边形上也是邻接的),再给定一个以\((0,0)\)为圆心,半径为\(r\)的圆. 请计算出多边形和 ...