1.docker环境安装
- 首先跳过docker安装,下载安装包一步一步来即可。
- windows模式下开启experimental实验性(未开启下可能会出现插件找不到)
- 配置国内镜像地址:
"registry-mirrors": [
"https://do.nark.eu.org",
"https://dc.j8.work",
"https://docker.m.daocloud.io",
"https://dockerproxy.com",
"https://docker.mirrors.ustc.edu.cn",
"https://docker.nju.edu.cn"
]
附(2,3)图:
此时docker环境基本安装完毕
2.docker安装并运行onlyoffice
docker安装onlyoffice镜像:
创建一个容器并运行指令:
(不含挂载路径)
docker run -i -t -d -p 本地计算机端口:docker端口 --restart=always -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
(含挂载路径)
docker run -i -t -d -p 本地计算机端口:docker端口 --restart=always -v 磁盘路径/logs:/var/log/onlyoffice -v 磁盘路径/data:/var/www/onlyoffice/Data -v 磁盘路径/lib:/var/lib/onlyoffice -v 磁盘路径/db:/var/lib/postgresql -e JWT_SECRET=my_jwt_secret onlyoffice/documentserver-de
-i -t 交互运行容器分配伪终端
-d 后台运行
-p 映射端口
--restart=alaways 重启策略总是
-v 挂载
-e 环境变量
onlyoffice/documentserver-de 镜像
4.vue项目运行onlyoffice
安装依赖:npm install --save @onlyoffice/document-editor-vue
测试代码如下
<template>
<DocumentEditor
id="docEditor"
documentServerUrl="docker部署后onlyoffice可访问地址"
:config=""
:events_onDocumentReady="onDocumentReady"
:onLoadComponentError="onLoadComponentError"
/>
</template>
<script>
import { defineComponent } from 'vue';
import { DocumentEditor } from "@onlyoffice/document-editor-vue";
export default defineComponent({
name: 'ExampleComponent',
components: {
DocumentEditor
},
data() {
return {
// 配置文档查阅
// [配置](https://api.onlyoffice.com/docs/docs-api/get-started/frontend-frameworks/vue/)
// [配置](https://api.onlyoffice.com/docs/docs-api/usage-api/config/)
config: {
// token:'', 有令牌时的验证必须有token不然会出下[WARN] [localhost] [82498d83b4fb49d1050b] [userId] nodeJS - checkJwt error: name = JsonWebTokenError message = jwt must be provided token = undefined 类似的错误。
document: {
fileType: "doc",
// key: 'WnSlx7p2UWCFJoYsR1ey',
title: "标题",
url: "文件可访问url"
},
documentType: "word",
}
}
},
methods: {
onDocumentReady() {
console.log("Document is loaded");
},
onLoadComponentError (errorCode, errorDescription) {
switch(errorCode) {
case -1: // Unknown error loading component
console.log(errorDescription);
break;
case -2: // Error load DocsAPI from docker部署后onlyoffice可访问地址
console.log(errorDescription);
break;
case -3: // DocsAPI is not defined
console.log(errorDescription);
break;
}
}
},
});
</script>
预览暂不展示
注意事项:
以目前的版本都是开启验证,没有配置会出没有权限的情况。也可以通过修改配置文件:/etc/onlyoffice/documentserver/local.json下的配置关闭校验
附上参数
"token": {
"enable": {
"request": {
"inbox": false,
"outbox": false
},
"browser": false
},
"inbox": {
"header": "Authorization",
"inBody": false
},
"outbox": {
"header": "Authorization",
"inBody": false
}
},
这个地方重启docker或者升级onlyoffice会重置配置。所有这个地方需要使用docker指令:
supervisorctl restart all
重启所有由Supervisor管理的进程