ShareLaTeX/Overleaf 社区版 Docker 部署指南
2025-07-06 00:59:48作者:蔡怀权
概述
ShareLaTeX/Overleaf 是一个流行的在线 LaTeX 协作编辑平台,本指南将详细介绍如何使用 Docker Compose 部署其社区版本。通过容器化部署,可以快速搭建一个功能完整的 LaTeX 协作环境,适合团队或教育机构使用。
核心服务架构
该 Docker Compose 配置定义了三个主要服务:
- ShareLaTeX/Overleaf 主服务:提供 Web 界面和编译功能
- MongoDB 数据库:版本 5.0,用于持久化存储用户数据和项目信息
- Redis 缓存:版本 6.2,用于提升系统性能
详细配置解析
主服务配置
sharelatex:
image: sharelatex/sharelatex
ports:
- 80:80
volumes:
- ~/sharelatex_data:/var/lib/overleaf
- 使用官方社区版镜像
sharelatex/sharelatex
- 映射主机 80 端口到容器 80 端口
- 数据卷挂载确保项目数据持久化
数据库依赖
depends_on:
mongo:
condition: service_healthy
redis:
condition: service_started
- 确保 MongoDB 健康状态后才启动主服务
- Redis 服务启动后即可启动主服务
环境变量配置
核心环境变量包括:
OVERLEAF_MONGO_URL: mongodb://mongo/sharelatex
OVERLEAF_REDIS_HOST: redis
REDIS_HOST: redis
- 配置 MongoDB 和 Redis 的连接信息
- 使用 Docker 内部服务名进行通信
功能配置
ENABLE_CONVERSIONS: 'true'
EMAIL_CONFIRMATION_DISABLED: 'true'
- 启用文档转换功能(如 PDF 生成)
- 禁用邮件确认,简化注册流程
数据持久化方案
所有关键数据都通过卷挂载实现持久化:
volumes:
- ~/sharelatex_data:/var/lib/overleaf # Overleaf 数据
- ~/mongo_data:/data/db # MongoDB 数据
- ~/redis_data:/data # Redis 数据
建议定期备份这些目录以确保数据安全。
高级配置选项
配置文件中包含大量注释掉的高级选项,可根据需要启用:
- 邮件服务配置:支持 SMTP 或 AWS SES
- LDAP 集成:支持企业级用户认证
- HTTPS 支持:通过 nginx-proxy 实现
- 沙箱编译环境:增强安全性(专业版功能)
部署建议
- 硬件要求:建议至少 4GB 内存,2核 CPU
- 网络配置:
- 确保 80 端口未被占用
- 考虑配置 HTTPS 增强安全性
- 监控:建议添加容器健康检查
- 备份策略:定期备份挂载卷数据
常见问题解决
- LuaLaTeX 编译问题:已通过设置
TEXMFVAR
环境变量解决 - 性能优化:可调整 Redis 配置提升缓存效率
- 存储空间:监控挂载卷使用情况,避免磁盘写满
总结
通过这份 Docker Compose 配置,可以快速部署一个功能完善的 ShareLaTeX/Overleaf 社区版实例。配置文件设计合理,既提供了开箱即用的基本功能,又保留了充足的可扩展性,适合从个人使用到小型团队的多种场景。
对于生产环境部署,建议根据实际需求启用适当的安全配置,如 HTTPS、用户认证等高级功能,并建立完善的监控和备份机制。