Docker集成onlyoffice实现预览功能

ops/2025/1/23 20:43:11/

1.拉取镜像

docker pull onlyoffice/documentserver

2. 数据卷挂载

mkdir -p app/onlyoffice/DocumentServer/logs

mkdir -p app/onlyoffice/DocumentServer/data

mkdir -p app/onlyoffice/DocumentServer/lib

mkdir -p app/onlyoffice/DocumentServer/db

3.运行容器

 docker run -i -t -d -p 8089:80 --restart=always \
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  \
    -v /app/onlyoffice/DocumentServer/lib:/var/lib/onlyoffice \
    -v /app/onlyoffice/DocumentServer/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver

访问onlyoffice地址:http://服务器ip:8089

4.关闭token认证

onlyoffice7.2版本之后默认开启jwt验证。 所以这里我们需要关闭token认证,不然就会出现如下图所示:

关闭认证: 

## 更改/etc/onlyoffice/documentserver/local.json
docker exec -it [容器id] bin/bash
cd /etc/onlyoffice/documentserver
sed -i 's/true/false/g' local.json
supervisorctl restart all

5.允许私有ip

进入容器内部至/etc/onlyoffice/documentserver/default.json ,修改此配置文件,如下图所示:

然后重启容器:docker restart 容器id。 

6.页面预览

<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Title</title>
</head>
<body>
<!-- 注意:121.199.75.131:8089是我部署的ip+端口,这个要换成你的 --><script type="text/javascript" src="http://121.199.75.131:8089/web-apps/apps/api/documents/api.js"></script><button id="previewBtn">预览</button><div id="preview"></div><script type="module">console.log('DocsAPI:', DocsAPI);const previewBtn = document.getElementById('previewBtn');previewBtn.addEventListener('click', () => {// 这里我们要预览officeconst config = {document: {// 文件类型fileType: 'xlsx', title: 'exam.xlsx', // 展示的文件名称url: 'http://121.199.75.131:5403/images/car_peer.xlsx',// 需要预览的url(这里是我服务器中的一个文件地址)},editorConfig: {// 只读mode: 'view',}, // 文档类型documentType: 'cell', // 预览区域的宽度width: '100%', // 预览区域的高度height: '700px',};const docEditor = new DocsAPI.DocEditor('preview', config);});
</script>
</body>
</html>


http://www.ppmy.cn/ops/152559.html

相关文章

mysql性能调优之SQL分析与优化

1、查询优化 避免使用SELECT *&#xff1a;尽量只选择需要的列&#xff0c;避免使用SELECT *&#xff0c;以减少数据传输量和处理时间。 合理使用LIMIT&#xff1a;当查询结果集较大时&#xff0c;使用LIMIT限制返回的行数&#xff0c;避免一次性返回大量数据。 优化JOIN和子查…

STM32 FreeRTOS软件定时器

软件定时器的简介 FreeRTOS 中的软件定时器是一种轻量级的时间管理工具&#xff0c;用于在任务中创建和管理定时器。软件定时器是基于FreeRTOS 内核提供的时间管理功能实现的&#xff0c;允许开发者创建、启动、停止、删除和管理定时器&#xff0c;从而实现在任务中对时间的灵…

数据清洗新利器:自动化数据清洗工具的探秘

友友们好! 我的新专栏《Python进阶》正式启动啦!这是一个专为那些渴望提升Python技能的朋友们量身打造的专栏,无论你是已经有一定基础的开发者,还是希望深入挖掘Python潜力的爱好者,这里都将是你不可错过的宝藏。 在这个专栏中,你将会找到: ● 深入解析:每一篇文章都将…

C# HTTP/HTTPS 请求测试小工具

这是一个使用 C# 语言开发的实用小工具&#xff0c;旨在帮助用户轻松测试 HTTP 和 HTTPS 请求。 该工具可以发送各种 HTTP 和 HTTPS 请求&#xff0c;包括但不限于 GET、POST、PUT、DELETE 等常见的请求类型。通过简洁明了的界面或命令行操作&#xff0c;用户可以方便地输入目…

Golang笔记——GPM调度器

大家好&#xff0c;这里是Good Note&#xff0c;关注 公主号&#xff1a;Goodnote&#xff0c;专栏文章私信限时Free。本文详细介绍Golang的GPM调度器&#xff0c;包括底层源码及其实现&#xff0c;以及一些相关的补充知识。 文章目录 前情提要并发与并行并行 (Parallel)并发 (…

Python毕业设计选题:基于django+vue的智能租房系统的设计与实现

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 租客注册 添加租客界面 租客管理 房屋类型管理 房屋信息管理 系统管理 摘要 本文首…

数据结构基础之《(15)—排序算法小结》

一、排序算法的稳定性 1、稳定性是指同样大小的样本再排序之后不会改变相对次序 2、对基础类型来说&#xff0c;稳定性毫无意义 比如&#xff1a;3和3没有区别。《潜伏》里说同样两个一百元大钞&#xff0c;你能告诉我哪一个是高尚的那一个是龌龊的么 3、对非基础类型来说&a…

vim练级攻略(精简版)

vim推荐配置: curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh 0. 规定 Ctrl-λ 等价于 <C-λ> :command 等价于 :command <回车> n 等价于 数字 blank字符 等价于 空格&#xff0c;tab&am…