本地部署overleaf服务帮助latex论文编写

是的,overleaf是一个很好的服务,提供了立刻上手就可以编写的latex文章的服务.但是,overleaf会面对latex超时,所以需要付钱的情况,这常出现在编写期刊的论文的情况.

因为时效性,所以,过去的一些操作已经不适用于新版本的overleaf的本地化部署,该博客提供了最新的部署方式指导(以及一些常见问题修复)

部署overleaf服务

官方仓库docker compose yaml部署overleaf服务存在一定的问题,无法连接mongodb数据库

所以,使用官方提供的Overleaf Toolkit,该工具提供了构建好的一些可执行工具帮助部署和使用

requirements

  • git
  • docker
  • docker compose

不会高效地安装docker依赖?可以参考博客tldr debian系用户配置使用docker

clone repo

shell 复制代码
git clone --depth=1 https://github.com/overleaf/toolkit.git ./overleaf-toolkit

--depth=1的作用是只clone最新一次的内容,这个可以有效地减少需要下载的内容

出现了网络问题 ,无法下载,可以试一下github520cli开源项目,使用方式参考博客github520cli解决无法github访问问题

该仓库提供了overleaf需要的一系列工具,文档可以参考官方仓库的README

docker部署

需要三个docker image

  • redis
  • mongodb
  • sharelatex

如果网络问题可以考虑proxy或者国内镜像源,但是sharlatex不在国内的镜像源的白名单里面.

检查bin/文件夹中的内容,这里面包含了一些通过docker compose运行的可执行文件.

复制代码
backup-config*   doctor*      init*   rename-env-vars-5-0*  shell*  up*                       
dev/             error-logs*  logs*   rename-rc-vars*       start*  upgrade*                  
docker-compose*  images*      mongo*  run-script*           stop*   

使用ls指令检查可执行文件

主要需要的文件有start,stop,shell

也可以通过docker compose指令直接启动服务

使用./bin/up启动服务

使用./bin/stop停止服务

使用./bin/start重新启动服务

使用./bin/shell连接进入容器内部

你可以通过docker-compose exec -it sharelatex bash取得类似的效果

启动三个服务,其中,sharelatex耗费最多的时间,每次启动都是需要花费时间的,并且,这个容器内部还包含了nginx服务

安装依赖(解决BUG)

在编写一些latex文档的时候,可能存在依赖缺失的问题,例如Latex CTEX解决File "xxx.sty" not found问题

通过检查github issue978得到问题的解决办法,主要是通过更新textlive的方式

该博客中提供了更新的方式

Upgrade from TeX Live 2024 to 2025官方提供了很好的升级textlive版本的方式,其中,推荐快速安装的方式

进入容器

一些的安装和更新操作需要在容器内部进行,所以,先使用./bin/shell进入容器内部shell

去到临时文件夹开始操作

shell 复制代码
cd /tmp # working directory of your choice

下载需要的文件

shell 复制代码
wget https://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

解压

shell 复制代码
zcat < install-tl-unx.tar.gz | tar xf - # note final - on that command line

前往解压出来的文件夹

shell 复制代码
cd install-tl-*

这个*需要换成对应的数字

(可选)更换textlive镜像源,参考知乎-更换textlive的镜像源

shell 复制代码
tlmgr option repository https://mirrors.aliyun.com/CTAN/systems/texlive/tlnet

这个是永久性换源

安装

shell 复制代码
perl ./install-tl --no-interaction # as root or with writable destination
# may take several hours to run

这个安装过程很漫长,大概有4900个pkg需要安装,下载完成之后安装也需要一定的时间

重启服务

安装全部的服务之后,然后,需要重启服务

只需./bin/stop然后./bin/start即可

使用服务

第一次登陆的时候会创建管理员用户,管理员用户再添加其他用户.

后续使用的时候登陆一般用户访问服务即可

相关推荐
DarkAthena6 小时前
wslc ps 卡死的排查:一次「停容器不停 VM」引发的连环故障
docker
小沈同学呀7 小时前
【Agent开发第十五期】部署上线:把 Alex 搬进浏览器,15 期全栈串联收官
docker·agent·从零搭建ai助手
lwx9148528 小时前
Docker-安装SSH服务
docker·容器·ssh
时间售卖铺12 小时前
Docker实战:一键部署轻量级容器
运维·docker·云原生
tedcloud12316 小时前
Docker Compose 部署 Uptime Kuma:配置 HTTPS、QQ 邮箱告警与数据备份
服务器·网络协议·ui·docker·容器·https·开源
syntaxsage17 小时前
Dive:Docker 镜像层可视化分析工具
运维·其他·docker·容器
java_logo17 小时前
Docker 部署 Samba:轻松搭建局域网文件共享
运维·docker·容器·文件共享·samba·smb·轩辕镜像
todoitbo1 天前
群晖NAS部署JmalCloud:Docker安装、文件管理、博客与公网访问完整教程
运维·docker·容器
是枚小菜鸡儿吖1 天前
Home Assistant跨品牌智能家居教程:Docker部署、米家接入、vivo桥接与远程访问
docker·容器·智能家居
螺蛳粉 螺蛳粉2 天前
第 02 篇:镜像分层与 containerd 2.x 实战:SystemdCgroup 与 pause 镜像配置踩坑(底座认知 02)
docker·云原生·容器·kubernetes·etcd·containerd·kube-apiserver