JeecgBoot人工智能专题研究里头关于JeecgBoot低代码在线文档编辑环境搭建的实际记录,为何会挑选OnlyOffice呢?
对于JeecgBoot低代码平台来讲,在线文档编辑属于其重要办公协作功能当中的一项。OnlyOffice DocumentServer具备针对Word、Excel、PowerPoint这三大格式的在线编辑能力,并且它支持通过Docker容器化进行部署,在与JeecgBoot低代码项目进行集成的时候十分便捷。
从 Docker 镜像进行拉取,接着到服务配置这块,一步一步地,完成 OnlyOffice 的部署。
版本选择
OnlyOffice 提供两个版本的 Docker 镜像:
版本镜像地址并发限制适用场景
免费版
onlyoffice/documentserver
20 用户
小型团队、开发测试
开发者版
onlyoffice/documentserver-de
30 天试用
正式项目评估、定制化需求
拉取镜像命令:
# 免费版
docker pull onlyoffice/documentserver
# 开发者版
docker pull onlyoffice/documentserver-de
专门针对JeecgBoot低代码项目的平时日常开发情形,以及小规模团队进行使用的状况而言,免费版本已然是足够的地步了。
启动服务
使用以下命令创建并启动 OnlyOffice 容器:
docker run -i -t -d -p 9000:80 --name=onlyoffice --privileged=true --restart=always -e JWT_ENABLED=false onlyoffice/documentserver
参数说明:
对于生产环境而言,建议将 JWT 认证予以开启,通过配置 JWT_SECRET 环境变量的方式,以此来增强安全性。其关键配置为:启用内网 IP 访问。
处于默认状况下,OnlyOffice因安全方面的考量会对私有IP地址的回调请求予以拒绝,在JeecgxBoot低代码的内网部署环境里,此权限必须要手动去开启。
1. 进入容器
docker exec -it onlyoffice bash
2. 编辑配置文件
vi /etc/onlyoffice/documentserver/default.json
3. 修改以下两项为 true
{
"services": {
"CoAuthoring": {
"request-filtering-agent": {
"allowPrivateIPAddress": true,
"allowMetaIPAddress": true
}
}
}
}
4. 重启容器使配置生效
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低代码平台便已然具备了完整化的在线文档编辑方面的能力,能够达成满足日常办公协作所需的要求。