Gotenberg Docker Compose 配置:完整的服务编排示例
Gotenberg 是一个强大的开源文档转换工具,能够将 HTML、Markdown、Word、Excel 等多种格式转换为 PDF 文件。通过 Docker Compose 配置,您可以快速部署和管理这个强大的文档转换服务。🚀
为什么选择 Docker Compose 部署 Gotenberg?
Docker Compose 提供了一种简单高效的方式来编排和管理 Gotenberg 服务。通过一个 YAML 配置文件,您可以定义所有必要的服务组件,包括 Chrome 浏览器、LibreOffice 和多个 PDF 引擎,实现一键部署和扩展。
Gotenberg 文档转换服务核心组件
完整的 Docker Compose 配置示例
以下是一个完整的 Gotenberg Docker Compose 配置示例,展示了如何配置所有核心功能:
version: '3.8'
services:
gotenberg:
image: gotenberg/gotenberg:8
ports:
- "3000:3000"
environment:
- CHROMIUM_BIN_PATH=/usr/bin/chromium
- CHROMIUM_HYPHEN_DATA_DIR_PATH=/tmp/chromium
volumes:
- ./tmp:/tmp
command:
- "gotenberg"
- "--chromium-auto-start=true"
- "--api-port=3000"
- "--api-body-limit=100MB"
核心模块配置详解
Chromium 模块配置
Chromium 是 Gotenberg 的核心组件之一,负责处理 HTML 和 Markdown 到 PDF 的转换。在 pkg/modules/chromium/chromium.go 中定义了丰富的配置选项:
environment:
- CHROMIUM_BIN_PATH=/usr/bin/chromium
- CHROMIUM_HYPHEN_DATA_DIR_PATH=/tmp/chromium
LibreOffice 模块配置
LibreOffice 模块处理 Office 文档到 PDF 的转换。在 pkg/modules/libreoffice/libreoffice.go 中提供了文档转换的核心功能。
PDF 引擎配置
Gotenberg 支持多种 PDF 引擎,包括 qpdf、pdfcpu、pdftk 等。您可以根据需要配置不同的引擎组合:
environment:
- PDFENGINES_MERGE_ENGINES=qpdf,pdfcpu,pdftk
- PDFENGINES_SPLIT_ENGINES=pdfcpu,qpdf,pdftk
高级配置选项
自定义端口和路径
ports:
- "8080:3000"
environment:
- API_ROOT_PATH=/api/v1/
安全配置
environment:
- API_ENABLE_BASIC_AUTH=true
- GOTENBERG_API_BASIC_AUTH_USERNAME=admin
- GOTENBERG_API_BASIC_AUTH_PASSWORD=secret
最佳实践配置
生产环境推荐配置
version: '3.8'
services:
gotenberg:
image: gotenberg/gotenberg:8
ports:
- "3000:3000"
environment:
- CHROMIUM_AUTO_START=true
- CHROMIUM_RESTART_AFTER=50
- API_TIMEOUT=60s
deploy:
resources:
limits:
memory: 2G
cpus: '2.0'
快速启动指南
- 创建配置文件:将上述配置保存为
docker-compose.yml - 启动服务:运行
docker-compose up -d - 验证部署:访问
http://localhost:3000确认服务正常运行
故障排除和监控
Gotenberg 提供了完整的健康检查和监控功能。在 pkg/modules/api/api.go 中可以看到健康检查路由的实现:
// Health check route
a.srv.GET(
fmt.Sprintf("%s%s", a.rootPath, "health"),
func() echo.HandlerFunc {
return echo.WrapHandler(healthCheckHandler)
}(),
)
通过这个完整的 Docker Compose 配置,您可以快速搭建一个功能强大的文档转换服务,满足各种业务需求。💪
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



