JeecgBoot AI专题研究 | JeecgBoot低代码在线文档编辑环境搭建实录
为什么选择 OnlyOffice?
在线文档编辑是 JeecgBoot低代码平台的重要办公协作功能之一。OnlyOffice DocumentServer 提供了 Word、Excel、PowerPoint 三大格式的在线编辑能力,且支持 Docker 容器化部署,与 JeecgBoot低代码项目的集成非常便捷。
本文将从 Docker 镜像拉取到服务配置,手把手完成 OnlyOffice 的部署。
版本选择
OnlyOffice 提供两个版本的 Docker 镜像:
| 版本 | 镜像地址 | 并发限制 | 适用场景 |
|---|---|---|---|
| 免费版 | onlyoffice/documentserver |
20 用户 | 小型团队、开发测试 |
| 开发者版 | onlyoffice/documentserver-de |
30 天试用 | 正式项目评估、定制化需求 |
拉取镜像命令:
bash
# 免费版
docker pull onlyoffice/documentserver
# 开发者版
docker pull onlyoffice/documentserver-de
对于 JeecgBoot低代码项目的日常开发和小规模团队使用,免费版已经足够。
启动服务
使用以下命令创建并启动 OnlyOffice 容器:
bash
docker run -i -t -d -p 9000:80 --name=onlyoffice --privileged=true --restart=always -e JWT_ENABLED=false onlyoffice/documentserver
参数说明:
-p 9000:80--- 将容器的 80 端口映射到宿主机的 9000 端口--privileged=true--- 赋予容器特权模式(OnlyOffice 内部服务需要)--restart=always--- 容器异常退出后自动重启-e JWT_ENABLED=false--- 关闭 JWT 认证(开发环境简化配置)
生产环境建议开启 JWT 认证,配置
JWT_SECRET环境变量以增强安全性。
关键配置:启用内网 IP 访问
默认情况下,OnlyOffice 出于安全考虑会拒绝私有 IP 地址的回调请求。在 JeecgBoot低代码的内网部署环境中,必须手动开启此权限:
1. 进入容器
bash
docker exec -it onlyoffice bash
2. 编辑配置文件
bash
vi /etc/onlyoffice/documentserver/default.json
3. 修改以下两项为 true
json
{
"services": {
"CoAuthoring": {
"request-filtering-agent": {
"allowPrivateIPAddress": true,
"allowMetaIPAddress": true
}
}
}
}
4. 重启容器使配置生效
bash
docker restart onlyoffice
常见问题排查
文档保存报错
这是最高频的问题之一。如果在编辑文档后保存时出现错误,通常是因为 JeecgBoot低代码后端的回调地址使用了 localhost 或 127.0.0.1。OnlyOffice 容器内部无法通过这些地址访问到宿主机的服务。
解决方案 :将所有配置中的 localhost 替换为宿主机的实际 IP 地址,例如 192.168.1.100。
服务无法访问
启动容器后,在浏览器中访问 http://服务器IP:9000 验证 OnlyOffice 是否正常运行。如果页面无法加载,检查防火墙规则和 Docker 端口映射是否正确。
总结
OnlyOffice 的 Docker 部署流程本身并不复杂,但内网 IP 访问权限配置和地址设置是容易踩坑的环节。完成本文的配置后,你的 JeecgBoot低代码平台就具备了完整的在线文档编辑能力,可以满足日常办公协作的需求。
本文为 JeecgBoot AI 专题研究系列文章。