基于docker的onlyoffice使用--运行JavaSpringExample

背景

        我之前看到有开源项目很好地集成了onlyoffice,效果要比kkfilepreview好(应当说应用场景不太一样)。本文是在window10环境,安装完Docker Desktop的基础上运行onlyoffice,并利用官网JavaSpringExample进行了集成。

步骤

        基本思路:从源码来看,Example的相关请求需走Docker OnlyOffice的方法,包括上传与下载,因此,我在配置文件中将文件直接上传至onlyOffice的对应目录。

(一)Docker部分

1、docker中下载最新的onlyoffice镜像,需搭配梯子,大小在3.25GB。

2、运行容器,我同时配置了JWT_SECRET及WOPI_ENABLED,输入以下命令。

docker run -i -t -d -p 80:80 --name onlyoffice --restart=always -v F:/app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data -v F:/app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice -e WOPI_ENABLED=true -e JWT_SECRET=SOIIC_JWT_SECRET onlyoffice/documentserver

同时进行映射,文件映射目录的步骤非常重要,默认使用了80端口,本文将映射目录放置于F盘。

 然后运行example案例,命令如下:

docker exec (容器ID) sudo supervisorctl start ds:example

 Docker中 onlyoffice的example演示:

(二)Example部分

3、下载JavaSpringExample,并在IDEA中打开。

下载地址包含Java、JavaSpring、.NET、PHP等案例

本文以JavaSpringExample为例。

 4、进行文件配置

本文直接给出配置文件,如下(如安装本文运行有问题可留言评论):

server.version=1.7.0##server.address可填本机IP地址
server.address=
##server.port案例端口
server.port=8080filesize-max=5242880##files.storage,Docker中onlyOffice的example的地址;
# 最后IP可用容器中example(80端口)上传文件测试后得出,自动生成目录
files.storage=F:\\app\\onlyoffice\\DocumentServer\\lib\\documentserver-example\\files\\172.17.0.1
##files.storage.folder见源码LocalFileStorage中getStorageLocation方法,当files.storage为绝对路径时未用到本配置
files.storage.folder=filesfiles.docservice.fillforms-docs=.docx|.oform
files.docservice.viewed-docs=.djvu|.oxps|.pdf|.xps
files.docservice.edited-docs=.csv|.docm|.docx|.docxf|.dotm|.dotx|.epub|.fb2|.html|.odp|.ods|.odt|.otp|.ots|.ott|.potm|.potx|.ppsm|.ppsx|.pptm|.pptx|.rtf|.txt|.xlsm|.xlsx|.xltm|.xltx
files.docservice.convert-docs=.doc|.dot|.dps|.dpt|.epub|.et|.ett|.fb2|.fodp|.fods|.fodt|.htm|.html|.mht|.mhtml|.odp|.ods|.odt|.otp|.ots|.ott|.pot|.pps|.ppt|.rtf|.stw|.sxc|.sxi|.sxw|.wps|.wpt|.xls|.xlsb|.xlt|.xml
files.docservice.timeout=120000
files.docservice.history.postfix=-hist##files.docservice.url.site为服务器IP地址+端口,本文80端口省略不写
files.docservice.url.site=http://192.168.52.31
files.docservice.url.converter=/ConvertService.ashx
files.docservice.url.command=/coauthoring/CommandService.ashx
files.docservice.url.api=/web-apps/apps/api/documents/api.js
files.docservice.url.preloader=/web-apps/apps/api/documents/cache-scripts.html
##files.docservice.url.example为文件服务器example访问地址
files.docservice.url.example=http://192.168.52.31/example##files.docservice.secret为Docker运行容器时指定的secret。
files.docservice.secret=SOIIC_JWT_SECRET
files.docservice.header=Authorization
files.docservice.token-use-for-request=truefiles.docservice.verify-peer-off=truefiles.docservice.languages=zh:Chinese (Simplified)|en:English|hy:Armenian|az:Azerbaijani|eu:Basque|be:Belarusian|bg:Bulgarian|ca:Catalan|zh-TW:Chinese (Traditional)|cs:Czech|da:Danish|nl:Dutch|fi:Finnish|fr:French|gl:Galego|de:German|el:Greek|hu:Hungarian|id:Indonesian|it:Italian|ja:Japanese|ko:Korean|lo:Lao|lv:Latvian|ms:Malay (Malaysia)|no:Norwegian|pl:Polish|pt:Portuguese (Brazil)|pt-PT:Portuguese (Portugal)|ro:Romanian|ru:Russian|si:Sinhala (Sri Lanka)|sk:Slovak|sl:Slovenian|es:Spanish|sv:Swedish|tr:Turkish|uk:Ukrainian|vi:Vietnamese|aa-AA:Test Languagespring.datasource.url=jdbc:h2:mem:usersdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
hibernate.ddl-auto
spring.h2.console.enabled=true
spring.h2.console.path=/h2
spring.servlet.multipart.max-file-size=5MB
spring.servlet.multipart.max-request-size=5MBurl.index=/
url.converter=/converter
url.editor=/editor
url.track=/track
url.download=/downloadlogo.image=
logo.imageEmbedded=
logo.url=https://www.onlyoffice.com

 演示效果

 本地JavaSpringExample的演示效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/183105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据之 Hadoop

hadoop主要解决:海量数据的存储和海量数据的分析计算 hadoop发展历史 Google是hadoop的思想之源(Google在大数据方面的三篇论文) 2006年3月,Map-reduce和Nutch Distributed File System(NDFS)分别被纳入到Hadoop项目&#xff0c…

Delphi语言怎样对自己定义类进行持久化保存及恢复 (性能远比json/xml高)

Delphi的RTL自身就带有一套非常好的资源持久化保存(IDE设计窗口时,保存为DFM格式及编译到EXE里面的资源文件)及恢复机制(EXE启动时对窗口资源的载入),那么应不是必需再额外用xml/json格式保存程序的參数了。…

90基于matlab的无迹卡尔曼滤波器参数估计的非线性最小二乘优化

基于matlab的无迹卡尔曼滤波器参数估计的非线性最小二乘优化,数据可更换自己的,程序已调通,可直接运行。 90matlab无迹卡尔曼滤波器参数估计 (xiaohongshu.com)

基于社区电商的Redis缓存架构-缓存数据库双写、高并发场景下优化

基于社区电商的Redis缓存架构 首先来讲一下 Feed 流的含义: Feed 流指的是当我们进入 APP 之后,APP 要做一个 Feed 行为,即主动的在 APP 内提供各种各样的内容给我们 在电商 APP 首页,不停在首页向下拉,那么每次拉的…

SQL Server 2008 使用concat报错

SQL Server 2008 使用concat报错 在 SQL Server中,CONCAT 函数是从 SQL Server 2012 版本开始引入的,所以在 SQL Server 2008 中使用 CONCAT 函数会导致错误。 如果你想要连接字符串,有几种替代方法可以考虑: 使用 运算符&…

CBV源码

views: from django.views import Viewclass MyLogin(View):def get(self,request):return HttpResponse(get方法)def post(self,request):return HttpResponse(post方法) urls: path(MyLogin,views.MyLogin.as_view()), CBV源码分析: as_view()为入口 path(MyLogin,vie…

CentOS 7 部署 Nacos (单机版)

CentOS 7 部署 Nacos (单机版) 1. 下载 Nacos 安装包 历史版本:https://github.com/alibaba/nacos/releases/ 我选的是 2.1.0 版本,https://github.com/alibaba/nacos/releases/download/2.1.0/nacos-server-2.1.0.tar.gz 2. …

C# WPF 基础教程——触发器、行为、形状、变换与透明、路径和几何图形

触发器 简单触发器 单条件触发器 多条件触发器 事件触发器 行为 形状 矩形和椭圆 Viewbox缩放控件,直线,折线,多边形 画刷 普通画刷 线性渐变画刷 环形渐变画刷 位图画刷 虚拟画刷(复制元素外观) 位图缓存画刷 变换…

Django 用户验证与权限管理

Django是一款强大且灵活的Python Web框架,不仅在构建功能复杂的网站应用中表现出色,还在诸如用户验证、权限管理等细微之处提供了优秀的解决方案。在多用户、权限复杂的Web应用中,认证和权限管理尤其重要。接下来,我们就来探究一下Django如何处理用户验证和权限管理的。 用…

Halcon Solution Guide I basics(5): 1D Measuring(一维测距)

文章专栏 我的Halcon开发 CSDN 专栏 Halcon学习 练习项目gitee仓库 CSDN Major 博主Halcon文章推荐 随笔分类 - Halcon入门学习教程 前言 今天来学直线测距,主要是用来测量连点之间的线段距离。感觉是用来得到工业产品精度的。 文章解读 一维测距是非常简单的这里…

分开站两排

体育课上全班同学站成一排,体育老师让同学们从第1位同学开始,按1、2、1、2、1、2……的方式报数,报1的同学留在原地,报2的同学向后退一步,报数完毕后形成两排。现在我们已经知道同学们学号的分布,那么你能分…

小航助学题库蓝桥杯题库c++选拔赛(22年3月)(含题库教师学生账号)

需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号) 需要在线模拟训练的题库账号请点击 小航助学编程在线模拟试卷系统(含题库答题软件账号)

burp2023专业版,配置上游代理太难找

burpsuite2023专业版的工具栏与之前的版本不同的是,工具栏中没有了user options这一选项 但在通常的使用过程中,常用到配置上游代理。之前的版本呢,上游代理的配置都在user options选项中设置,user options选项还在工具栏中&#…

血的教训---入侵redis并免密登录redis所在服务器

血的教训—入侵redis并免密登录redis所在服务器 今天就跟着我一起来入侵redis并免密登录redis所在服务器吧,废话不多说,我们直接开始吧。 这是一个体系的学习步骤,当然如果基础扎实的话可以继续往下面看 以下都是关联的文章,可以学…

机器学习:DBSCAN算法(效果比K-means好)

基本概念 核心对象:以点为圆心半径为r的圆,如果圈里面的样本点大于给定的阈值(minPts),那么这个点就叫做核心点 直接密度可达:点p在q为圆心的圆内 密度可达: p1与p2直接密度可达,p2与p3直接密度可达&…

[node]Node.js多线程

[node]Node.js多线程 Node.js 多进程exec()使用语法示例 spawn()使用语法示例 fork()使用语法示例 Node.js 多进程 Node.js 是以单线程的模式运行的,但它使用的是事件驱动来处理并发,这样有助于我们在多核 cpu 的系统上创建多个子进程,从而提…

记录创建粒子的轻量级JavaScript库——particles.js(可用于登录等背景显示)

文章目录 前言一、下载particles.js二、引入particles.js并使用三、配置数据说明如有启发,可点赞收藏哟~ 前言 本文记录使用创建粒子的轻量级JavaScript库 particles.js 可用于登录等背景显示 一、下载particles.js 先下载particles.js库,放在项目libs…

msyql迁移到mongodb

关系型数据库迁移到mongodb的理由 高并发需求,关系型数据库不容易扩展 快速迭代 灵活的json模式 大数据量需求 应用迁移难度: 关系型到关系 oracle-》mysql oracle -》 postgresql 关系到文档- oracle -》 mongodb 需要考虑: 总体架构&#…

vue3实现元素拖拽移动功能

效果图 实现拖拽移动 首先我们给需要实现功能的元素加一个draggable"true"让元素能够被拖拽 先来认识两个搭配draggable属性一起使用的事件——ondragstart和ondragend,它们的定义分别为: ①. ondragstart 事件在用户开始拖动元素或选择的文…

如何使用录屏软件在电脑录制PDF文件

我有一个PDF文件,想用录屏软件将它录制下来并添加上详细的注释,然后发给客户看,请问应该如何录制呢?有没有推荐的录屏软件呢? 不用担心,本文将会详细的为您讲解如何使用录屏软件在电脑端录制PDF文件&#…