侧边栏壁纸
  • 累计撰写 71 篇文章
  • 累计创建 15 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

docker安装halo,配合onlyoffice文件在线协作

寒江孤影
2023-05-31 / 0 评论 / 0 点赞 / 6 阅读 / 6212 字
温馨提示:
本文最后更新于 2023-05-31,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

安装cloudreve

创建目录结构

请确保运行之前:

  1. 手动创建 conf.ini 空文件或者符合 Cloudreve 配置文件规范的 conf.ini, 并将 <path_to_your_config> 替换为该路径

  2. 手动创建 cloudreve.db 空文件, 并将 <path_to_your_db> 替换为该路径

  3. 手动创建 uploads 文件夹, 并将 <path_to_your_uploads> 替换为该路径

  4. 手动创建 avatar 文件夹,并将 <path_to_your_avatar> 替换为该路径

或者,直接使用以下命令创建:

mkdir -vp cloudreve/{uploads,avatar} \
&& touch cloudreve/conf.ini \
&& touch cloudreve/cloudreve.db

docker运行

docker run -d \
-p 5212:5212 \
--mount type=bind,source=<path_to_your_config>,target=/cloudreve/conf.ini \
--mount type=bind,source=<path_to_your_db>,target=/cloudreve/cloudreve.db \
-v <path_to_your_uploads>:/cloudreve/uploads \
-v <path_to_your_avatar>:/cloudreve/avatar \
cloudreve/cloudreve:latest

Docker Compose

mkdir -vp cloudreve/{uploads,avatar} \
&& touch cloudreve/conf.ini \
&& touch cloudreve/cloudreve.db \
&& mkdir -p aria2/config \
&& mkdir -p data/aria2 \
&& chmod -R 777 data/aria2
version: "3.8"
services:
  cloudreve:
    container_name: cloudreve
    image: cloudreve/cloudreve:latest
    restart: unless-stopped
    ports:
      - "5212:5212"
    volumes:
      - temp_data:/data
      - ./cloudreve/uploads:/cloudreve/uploads
      - ./cloudreve/conf.ini:/cloudreve/conf.ini
      - ./cloudreve/cloudreve.db:/cloudreve/cloudreve.db
      - ./cloudreve/avatar:/cloudreve/avatar
    depends_on:
      - aria2
  aria2:
    container_name: aria2
    image: p3terx/aria2-pro
    restart: unless-stopped
    environment:
      - RPC_SECRET=your_aria_rpc_token
      - RPC_PORT=6800
    volumes:
      - ./aria2/config:/config
      - temp_data:/data
volumes:
  temp_data:
    driver: local
    driver_opts:
      type: none
      device: $PWD/data
      o: bind

运行镜像

# 后台运行模式,可以从 docker/docker-compose 的日志中获取默认管理员账户用户名和密码
docker-compose up -d

# 或者,直接运行,log 将会直接输出在当前控制台中,请注意退出之后保持当前容器运行
docker-compose up

安装onlyoffice

直接docker run

docker run -d --restart=always --name onlyoffice -p 1080:80 -e JWT_ENABLED=false -e WOPI_ENABLED=true onlyoffice/documentserver
#JWT_ENABLED 不启用jwt验证
#WOPI_ENABLED 开启WOPI -在线协作

部署成功后如下图所示,能访问

aaa.png

创建一个view.html页面,用于cloudreve调用onlyoffice的api,view.html代码如下所示(感兴趣的小伙伴也可以去onlyoffice官网查找研究具体的编辑等的api配置,我这里只做预览)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>文件预览</title>
</head>

<body>
<div id="placeholder"></div>
<!-- 下面的注释记得要打开,并修改编辑自己onlyoffice的api.js的路径,一般只需改ip地址即可,专栏编辑无法使用外源引用,所以我这里注释掉 -->
<script type="text/javascript" src="/web-apps/apps/api/documents/api.js"></script>
<script>
    function GetQueryString(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) return decodeURIComponent(r[2]); return null;
    }
	
	let url = GetQueryString("src")
	var file= GetQueryString("name")
	let os1=os();
	console.log(os1)
	if(os1.isAndroid || os1.isPhone){
		debugger
		const link = document.createElement('a');
			link.setAttribute('href', url); //设置下载文件的url地址
			link.setAttribute('download', file); //用于设置下载文件的文件名
			link.click();
	}  
		  //解码url
  
    
    var suffix = file.split('.')
    suffix=suffix[suffix.length-1]
	
    var docEditor = new DocsAPI.DocEditor("placeholder", {
        "document": {
            "fileType": suffix,
            "permissions": {
                "edit": false,
				"comment":true,
				"download":true,
				"print":true,
				"fillForms": true,
            },
            "title": file,
            "url": url,
        },
		"editorConfig":{
		"callbackUrl": url,                      //回调地址,一定要保证docserver可以请求到,否则开不开文件
			"lang":"zh-CN",
			"mode":"view", //编辑模式 edit
		},
        "height": "1080px",
        // "width": "100%",
		"type":"desktop",

    });
	//};
//	req.send();
	
function os() {
     var ua = navigator.userAgent,
     isWindowsPhone = /(?:Windows Phone)/.test(ua),
     isSymbian = /(?:SymbianOS)/.test(ua) || isWindowsPhone, 
     isAndroid = /(?:Android)/.test(ua), 
     isFireFox = /(?:Firefox)/.test(ua), 
     isChrome = /(?:Chrome|CriOS)/.test(ua),
     isTablet = /(?:iPad|PlayBook)/.test(ua) || (isAndroid && !/(?:Mobile)/.test(ua)) || (isFireFox && /(?:Tablet)/.test(ua)),
     isPhone = /(?:iPhone)/.test(ua) && !isTablet,
     isPc = !isPhone && !isAndroid && !isSymbian;
     return {
          isTablet: isTablet,
          isPhone: isPhone,
          isAndroid : isAndroid,
          isPc : isPc
     };
};
 

</script>
</body>
</html>

将新建的view.html复制到coludreve的/var/www/onlyoffice/documentserver-example/welcome目录下

sudo docker cp ./view.html onlyoffice:/var/www/onlyoffice/documentserver-example/welcome

配置cloudreve并测试文档预览

在cloudreve的管理面板-参数设置-图像预览的文件预览地址配置中将配置修改成onlyoffice的地址,并保存,配置url如下所示(注意在windows下运行cloudrve建议使用管理员权限运行,不然可能没法预览文件,会提示下载失败)

QQ图片20230531212253.png

在线查看文件效果-可直接在线编辑保存

QQ截图20230531212621.png微信截图_20230531212653.png

0

评论区