编程随笔 编程随笔
  • 前端
  • 后端
  • 嵌入式
  • 星球项目
  • 开源项目
  • 海康AGV
  • 四向车
  • 工具类
  • 项目仓库

    • 部署仓库 (opens new window)
    • 代码仓库 (opens new window)
  • vuepress插件

    • 自动生成导航栏与侧边栏 (opens new window)
    • 评论系统 (opens new window)
    • 全文搜索 (opens new window)
    • 选项卡 (opens new window)
    • 自动生成sitemap (opens new window)
  • 自主开发插件

    • 批量操作frontmatter (opens new window)
    • 链接美化 (opens new window)
    • 折叠代码块 (opens new window)
    • 复制代码块 (opens new window)

liyao52033

走运时,要想到倒霉,不要得意得过了头;倒霉时,要想到走运,不必垂头丧气。心态始终保持平衡,情绪始终保持稳定,此亦长寿之道
  • 前端
  • 后端
  • 嵌入式
  • 星球项目
  • 开源项目
  • 海康AGV
  • 四向车
  • 工具类
  • 项目仓库

    • 部署仓库 (opens new window)
    • 代码仓库 (opens new window)
  • vuepress插件

    • 自动生成导航栏与侧边栏 (opens new window)
    • 评论系统 (opens new window)
    • 全文搜索 (opens new window)
    • 选项卡 (opens new window)
    • 自动生成sitemap (opens new window)
  • 自主开发插件

    • 批量操作frontmatter (opens new window)
    • 链接美化 (opens new window)
    • 折叠代码块 (opens new window)
    • 复制代码块 (opens new window)
  • 常用软件

    • vuepress-plugin-element-ui
    • pandoc使用
    • meilisearch部署
    • cloudreve部署
      • 创建目录结构
      • 运行
      • 添加域名
      • 更新
      • 扩展文档预览/编辑
    • zabbix部署
    • 常用网址
    • git使用
    • 安装 acme.sh
    • 中央仓库上传指南
  • 工具类
  • 常用软件
华总
2024-01-03
0
0
目录

cloudreve部署原创

# 创建目录结构

请确保运行之前:

1、手动创建 conf.ini 空文件或者符合 Cloudreve 配置文件规范的 conf.ini, 并将 /usr/local/cloudreve/conf.ini替换为该路径

2 、手动创建 cloudreve.db 空文件, 并将 /usr/local/cloudreve/cloudreve.db替换为该路径

3 、手动创建 uploads 文件夹, 并将 /usr/local/cloudreve/uploads 替换为该路径

4、 手动创建 avatar 文件夹,并将 /usr/local/cloudreve/avatar 替换为该路径

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

cd /usr/local
&& mkdir -vp cloudreve/{uploads,avatar} \
&& touch cloudreve/conf.ini \
&& touch cloudreve/cloudreve.db
1
2
3
4

# 运行

然后,运行 docker container:

docker run -d \
-p 5212:5212 \
--mount type=bind,source=/usr/local/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/usr/local/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /usr/local/cloudreve/uploads:/cloudreve/uploads \
-v /usr/local/cloudreve/avatar:/cloudreve/avatar \
cloudreve/cloudreve:latest
1
2
3
4
5
6
7

# 添加域名

这个根据自己的实际情况,我这里给 Nginx 添加配置文件,配置域名:

 server {
        listen       443 ssl;
        server_name  pan.xiaoying.org.cn;

        ssl_certificate /etc/nginx/pan.xiaoying.org.cn_bundle.crt;
        ssl_certificate_key /etc/nginx/pan.xiaoying.org.cn.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        location ~* \.(jpg|jpeg|png|gif|bmp|swf)$ {
           etag on;
           add_header Cache-Control "public, max-age=2592000";
       }

       location ~ /\.{
         deny all;
       }

       location / {
         proxy_set_header Host $host;
         proxy_set_header   X-Forwarded-Proto $scheme;
         proxy_set_header   X-Real-IP         $remote_addr;
         proxy_pass http://127.0.0.1:5212;
    }
  }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

# 更新

在/usr/local/cloudreve添加cloudreve-update.sh,内容如下

SOURCE_PATH=/usr/local/cloudreve
SERVER_NAME=cloudreve/cloudreve
TAG=latest
SERVER_PORT=5212

RUN rm -f /etc/localtime \
&& ln -sv /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone

CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
if [ -n "$CID" ]; then
  echo "存在容器$SERVER_NAME,CID-$CID"
  docker stop $CID
  echo "成功停止容器$SERVER_NAME,CID-$CID"
  docker rm $CID
  echo "成功删除容器$SERVER_NAME,CID-$CID"
fi
if [ -n "$IID" ]; then
  echo "存在镜像$SERVER_NAME:$TAG,IID=$IID"
  docker rmi $IID
  echo "成功删除镜像$SERVER_NAME:$TAG,IID=$IID"
fi
echo "开始拉取最新镜像$SERVER_NAME:$TAG"
docker pull cloudreve/cloudreve
echo "成功拉取最新镜像$SERVER_NAME:$TAG"

docker run -d \
-p 5212:5212 \
--mount type=bind,source=/usr/local/cloudreve/conf.ini,target=/cloudreve/conf.ini \
--mount type=bind,source=/usr/local/cloudreve/cloudreve.db,target=/cloudreve/cloudreve.db \
-v /usr/local/cloudreve/uploads:/cloudreve/uploads \
-v /usr/local/cloudreve/avatar:/cloudreve/avatar \
cloudreve/cloudreve:latest

echo "成功创建并运行容器$SERVER_NAME"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

执行如下命令打包docker镜像文件启动容器

chmod +x cloudreve-update.sh && sh cloudreve-update.sh
1

# 扩展文档预览/编辑

Cloudreve 会通过文件的扩展名自动选择预览器。Cloudreve 内置了多种文件格式的预览器,包括视频、音频、代码、文本、Office 文档等。其中 Office 文档预览器提供了较高的扩展性,你可以在 后台 - 参数设置 - 图像与预览 - 文件预览 中更换默认的文档预览服务地址。也可以通过开启 WOPI 集成,将 Office 文档预览器替换为更强大的预览/编辑器,并自主定义可被预览/编辑的文件扩展名。本文将介绍三种支持 WOPI 协议的服务的部署及对接方式。你也可以通过实现自己的 WOPI 客户端,扩展 Cloudreve 的预览编辑能力(不仅限于 Office 文档)。

# OnlyOffice

OnlyOffice 在 6.4 版本后支持了 WOPI 协议,请参考 官方文档 部署你的 OnlyOffice (opens new window) 实例。推荐使用 Docker-DocumentServer (opens new window) 来快速部署。

参考 官方文档 (opens new window) 配置 OnlyOffice 开启 WOPI 功能。如果使用 Docker,可在创建 Contianer 时指定 WOPI_ENABLED 为 true 来开启:

docker run -i -t -d -p 9980:80 -e WOPI_ENABLED=true onlyoffice/documentserver
1

你可以手动访问 <你的 OnlyOffice 主机>/hosting/discovery 来确认是否返回了预期的 XML 响应。

在 后台 - 参数设置 - 图像与预览 - 文件预览 - WOPI 客户端 中开启 使用 WOPI 并在 WOPI Discovery Endpoint 中填入<你的服务主机>/hosting/discovery。保存后可在前台测试文档预览和编辑

警告

OnlyOffice 不支持过滤 WOPI 请求来源,如果你有对公使用需求,请通过外部应用防火墙检查预览页面请求中 wopisrc 参数是否为预期的 Cloudreve 站点。

上次更新: 2025/02/18 14:46:10
meilisearch部署
zabbix部署

← meilisearch部署 zabbix部署→

最近更新
01
jFlash使用 原创
03-24
02
中央仓库上传指南 原创
03-23
03
模板生成工具 原创
02-18
04
RTC实时时钟 原创
02-12
05
keil调试 原创
01-21
更多文章>
Copyright © 2023-2025 liyao52033  All Rights Reserved
备案号:鄂ICP备2023023964号-1    
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式