\(\sum\)
\(\int\)
\(\partial\)
\(\infty\)
\(\alpha\)

让 ShareLaTeX 部署
变得前所未有的简单

集成完整 TeX Live · 无 AVX 要求 · Docker 一键部署 完全开源的自托管 Overleaf 私有化解决方案

立即开始使用
main.tex
\documentclass{}article}
\usepackage{}amsmath}

\begin{}document}
  \title{}ShareLaTeX CE}
  \author{}您的私有化 LaTeX 协作平台}
  \maketitle

  \section{}为什么选择我们?}
  完整 TeX Live $\cdot$ 无 AVX 限制 $\cdot$ 开源自托管

  \section{}快速开始}
  只需一行命令:\texttt{}docker-compose up -d}
\end{}document}

为什么选择 ShareLaTeX CE?

专为私有化部署场景优化,解决官方镜像的常见痛点

完整 TeX Live

集成完整 TeX Live 包管理器,告别宏包缺失问题,支持所有常用 LaTeX 宏包和模板

多版本分支

master 分支兼容老旧 CPU(无 AVX 要求),6 分支支持最新 ShareLaTeX 6 版本

无 AVX 兼容

master 分支专门优化,支持不带 AVX 指令集的老旧或特定 CPU 架构

Docker 部署

使用 Docker Compose 一键启动所有必需服务,包括 MongoDB、Redis 和 ShareLaTeX

完全开源

基于 Overleaf Community Edition,完全开源的自托管解决方案,数据完全自主可控

如何选择版本?

  • master 分支:兼容无 AVX 指令集的老旧 CPU,使用优化过的旧版本镜像
  • 6 分支:最新的 ShareLaTeX 6 版本,需要 AVX 支持,包含最新特性和性能优化

快速开始

只需 6 个步骤,即可拥有自己的私有化 LaTeX 协作平台

1

选择版本

根据硬件支持情况选择合适版本的分支

# master 分支:兼容老旧 CPU(无 AVX 要求)
git checkout master

# 或 6 分支:最新 ShareLaTeX 6 版本(需要 AVX 支持)
git checkout 6

不确定您的 CPU 是否支持 AVX?建议先尝试 master 分支。

2

克隆项目

从 GitHub 克隆仓库到本地

git clone https://github.com/xuhe2/sharelatex-ce.git
cd sharelatex-ce
3

构建镜像(可选)

可选

构建包含完整 TeX Live 的自定义镜像

# Dockerfile 位于 sharelatex-ce/ 目录下
# 构建过程约需 30 分钟

docker build -t xuhe-sharelatex-ce ./sharelatex-ce

可选步骤。如不构建,将使用预构建镜像。

4

启动服务

使用 Docker Compose 一键启动所有服务

docker-compose up -d
5

配置数据库

初始化 MongoDB 副本集(仅需执行一次)

docker exec leaf-mongo mongo --eval "rs.initiate({ _id: \"overleaf\", members: [{ _id: 0, host: \"mongo:27017\" }] })"

注意:ShareLaTeX 5.0 及以上版本的命令有所不同,请查看对应分支的文档。

6

重启并访问

重启 ShareLaTeX 刷新配置,然后访问您的私有化 Overleaf

# 重启 ShareLaTeX 以刷新配置
docker restart leaf-sharelatex

# 访问 http://localhost:8008
# 默认账户请在 README 中查看

注意事项

  • • 确保已安装 Docker 和 Docker Compose
  • • 首次启动可能需要较长时间来下载镜像
  • • 如需构建自定义镜像,请确保网络畅通(需下载 TeX Live)
  • • 详细配置说明请参考 GitHub 仓库

常见问题

遇到问题?这里有一些常见问题的解决方案

编译未生成 PDF

LaTeX 编译器返回通用错误信息,表示编译流程中断或输出缺失

解决方案

通过切换编译器来刷新编译器内部状态

  1. 1 在 Overleaf 编辑器中,将编译器切换到 XeLaTeX
  2. 2 点击编译(此时可能会成功或失败,不重要)
  3. 3 将编译器切换回 pdfLaTeX(或您需要的编译器)
  4. 4 再次编译

没有找到解决方案?查看更多资源

GitHub Issues