首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【教程】Docker方式本地部署Overleaf

【教程】Docker方式本地部署Overleaf

作者头像
小锋学长生活大爆炸
发布2025-05-31 16:01:06
发布2025-05-31 16:01:06
93700
代码可运行
举报
运行总次数:0
代码可运行

背景说明

Overleaf又挂了,数据放在别人手里真是不靠谱。反正Overleaf是开源的,所以自己搭建一个。

Overleaf Status

教程来自官方:toolkit/doc/quick-start-guide.md at master · overleaf/toolkit · GitHub

下载仓库

首先,让我们将这个git存储库克隆到你的机器上:

代码语言:javascript
代码运行次数:0
运行
复制
git clone https://github.com/overleaf/toolkit.git ./overleaf-toolkit

接下来让我们进入这个目录:

代码语言:javascript
代码运行次数:0
运行
复制
cd ./overleaf-toolkit

让我们看一下存储库的结构:

代码语言:javascript
代码运行次数:0
运行
复制
ls -l

它将打印如下内容:

代码语言:javascript
代码运行次数:0
运行
复制
    bin
    CHANGELOG.md
    config
    data
    doc
    lib
    LICENSE
    README.md
  • README.md文件包含一些关于项目的有用信息
  • doc目录包含使用该工具包所需的所有留档
  • config目录将包含本地配置文件(我们稍后将创建)
  • bin目录包含管理背面实例的脚本集合

初始化配置

让我们通过运行bin/init来创建本地配置:

代码语言:javascript
代码运行次数:0
运行
复制
bin/init

现在检查config/目录的内容

代码语言:javascript
代码运行次数:0
运行
复制
ls config
# overleaf.rc     variables.env     version
代码语言:javascript
代码运行次数:0
运行
复制
这是将与之交互的三个配置文件:
  • overleaf.rc:主要的顶级配置文件
  • variables.env:加载到docker容器中的环境变量
  • version:要使用的docker映像的版本

  • 默认情况下,工具包使用免费的社区版
  • 默认情况下,overleaf使用texlive,并且宏包是不全的

修改监听IP和端口

./config/overleaf.rc中,需要修改以下字段:

代码语言:javascript
代码运行次数:0
运行
复制
OVERLEAF_LISTEN_IP=0.0.0.0 # 监听所有的IP
OVERLEAF_PORT=8000         # 默认是80端口

自定义网站名称

./config/variables.env文件中,修改:

代码语言:javascript
代码运行次数:0
运行
复制
OVERLEAF_APP_NAME="Overleaf Instance"
OVERLEAF_SITE_URL=xxx
OVERLEAF_NAV_TITLE="Overleaf Instance"
OVERLEAF_ADMIN_EMAIL=mail@xxx.site

修改完配置文件之后,需要重新build才可以应用配置。

代码语言:javascript
代码运行次数:0
运行
复制
sudo bin/down 
sudo bin/up

修改Mongo版本

MongoDB 官方从 5.0 开始引入的硬件限制,强制要求支持 AVX,无法通过任何软件方法绕过。所以需要降低版本。

./config/overleaf.rc中,需要修改以下字段:

代码语言:javascript
代码运行次数:0
运行
复制
MONGO_VERSION=4.4

修改数据存放位置

./config/overleaf.rc中,需要修改以下字段:

更换Docker源

可以看这篇:【教程】最新可用!Docker国内镜像源列表_docker镜像源-CSDN博客

推荐:https://docker.1panel.live

更换Docker存储位置

可以看这篇:【教程】Docker更换存储位置-CSDN博客

启动Overleaf

该工具包使用docker compose来管理docker容器。该工具包提供了一组脚本来包装docker compose,并处理大部分细节。

可以先检查一下是否存在隐性问题:

代码语言:javascript
代码运行次数:0
运行
复制
sudo bin/doctor

然后让我们启动docker服务:

代码语言:javascript
代码运行次数:0
运行
复制
sudo bin/up

# 后台运行:
# sudo bin/up -d 

应该看到docker容器的一些日志输出,表明容器正在运行。如果在终端按CTRL-C,服务将关闭。可以通过运行bin/start再次启动它们(而不附加到日志输出)。更一般地说,如果发现脚本没有涵盖你的用例,可以运行bin/docker-compose来直接控制docker compose系统。

创建管理员帐户

  1. 在浏览器中,打开http://localhost/launchpad。应该会看到一个包含电子邮件和密码字段的表单。用想用作管理员帐户的凭据填写这些凭据,然后单击“注册”。
  2. 然后单击链接进入登录页面(http://localhost/login)。输入凭据。登录后,将被带到欢迎页面。
  3. 单击页面底部的绿色按钮开始使用。

创建第一个项目

  1. http://localhost/project页面上,将看到一个按钮,提示创建第一个项目。单击按钮并按照说明进行操作。
  2. 然后,你应该被带到新项目,在那里将看到一个文本编辑器和一个PDF预览。
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景说明
  • 下载仓库
  • 初始化配置
  • 修改监听IP和端口
  • 自定义网站名称
  • 修改Mongo版本
  • 修改数据存放位置
  • 更换Docker源
  • 更换Docker存储位置
  • 启动Overleaf
  • 创建管理员帐户
  • 创建第一个项目
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档