升级cloudreve至v4版本并配置collabora实现文档预览功能

AI摘要:升级Cloudreve至V4并配置Collabora实现文档预览及在线编辑功能,需备份数据,运行升级工具,配置Collabora并添加WOPI协议应用。

Powered by AISummary.

从 V3.x.x 升级至V4.x.x

cloudreve_v4-2

当你从 V3.x.x 升级到 V4.0.x 时,下列数据会丢失:

你可以在 GitHub Release 页面获取已经构建打包完成的预编译最新版本。如果你需要从源代码构建,请参考 从源代码构建

也可以通过我的cloudreve网盘下载4.10.1版本(2025年11月20日)

  • 离线下载和其他后台任务记录;
  • 订单记录;
  • 举报记录;
  • 用户自定义侧边栏;
  • 用户绑定的外部验证器;
  • 主题色配置;
  • 非本机存储策略代理生成的缩略图;
  • 其他在 V4 中不再支持的配置项。
  • 升级后,V3 的分享链接和直链仍然有效。

1. 准备

检查当前版本

V3 到 V4 的升级工具基于 Cloudreve V3.8.x 版本开发,其他更老版本未进行过测试,推荐先将 Cloudreve 升级到 V3.8.x 再进行到 V4 的升级。

关闭站点

请先关闭当前站点和 Cloudreve V3 进程,避免数据库中写入新的数据。

备份数据库

请先备份现有版本的数据库。你可以使用诸如 mysqldump 一类的第三方工具来创建数据库备份。对于 SQLite 数据库,你可以直接备份 cloudreve.db 文件。

升级工具只会读取 V3 数据库并转换为 V4 格式,不会修改 V3 数据库中的数据,但仍有可能因为操作失误或程序缺陷导致 V3 数据库损坏,请做好备份后再进行后续操作。

备份配置文件

请备份现有 V3 版本的配置文件 conf.ini。

2. 转换数据库

2.1 获取 V4 主程序

参考 快速开始 获取 V4.0.x 版本的主程序。将其命名为 cloudreve_v4 并放置到与当前 cloudreve 相同的目录下。

警告

在 V4 后续版本中,此升级工具会被移除。请先升级到 V4.0.x 版本,再进行后续升级。

将当前 Cloudreve V3 可执行文件重命名为 cloudreve_v3

mv cloudreve cloudreve_v3

将 V4 主程序重命名为 cloudreve

mv cloudreve_v4 cloudreve

创建 data 目录,用于存放 V4 的配置文件和数据

mkdir data

2.2 准备 V4 配置文件和数据库

直接复制 V3 的配置文件 conf.ini 到 data 目录下,如果想用外部数据库的请修改其中的数据库连接信息,将 Database 配置项中的 Name 修改为 V4 数据库的名称,或者通过 DBFile 配置项指定一个新的 SQLite 数据库文件的位置。

如果用自带的数据库,就不用另外编辑conf.ini 文件了,我原来的v3版本也是用的系统自带的数据库文件,所以这里就省事了。

TIP

在 V4 中,不再支持指定数据表前缀 TablePrefix 配置项,所以在这里推荐为 V4 指定一个新的数据库,与 V3 区分开来。

将 V3 的配置文件 conf.ini 复制到上一步创建的 data 目录下

cp conf.ini data/conf.ini

修改 V4 配置文件中的数据库连接信息

请创建一个新的数据库,与 V3 区分开来

nano data/conf.ini

2.3 运行升级工具

运行升级工具

./cloudreve migrate --v3-conf conf.ini -c data/conf.ini

通过 -c 参数指定 V4 的配置文件路径,通过 --v3-conf 参数指定 V3 的配置文件路径。升级工具会读取 V3 数据库中的数据,并转换为 V4 格式,写入到 V4 数据库中。

根据数据量的不同,升级工具需要运行数分钟到数小时不等。

3. 启动 V4

升级工具运行完成后,你就可以启动 V4 站点了。

./cloudreve

注意:

如果之前配置了systemd可能需要做相应修改,修改/etc/systemd/system/cloudreve.service为以下内容:

[Unit]
Description=Cloudreve V4
After=network.target

[Service]
Type=simple
WorkingDirectory=cloudreve可执行文件所在的目录
ExecStart=cloudreve可执行文件所在的目录/cloudreve
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

然后重载systemd服务并启动cloudreve:

sudo systemctl daemon-reload
sudo systemctl starrt cloudreve

4. 后续步骤

如果你在升级完成后,访问站点仍然是 V3 的页面,请删除浏览器缓存,并确保没有使用自定义前端。
在检查 V4 站点正常运行后,V3 所使用的数据库数据可以删除。

部署并配置collabora实现文档在线编辑

docker部署collabora

这里提供一个docker-compose.yml文件

version: '3.8'

services:
  collabora:
    image: docker.1panel.live/collabora/code:latest
    container_name: collabora
    privileged: true
    environment:
      - TZ=Asia/Shanghai
      - aliasgroup1=cloudreve的域名,注意要带端口号
      - username=admin
      - password=123456
      - dictionaries=de en es zh
      # 关键配置非常重要:指定服务器名称和端口
      - extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:welcome.enable=false --o:server_name=collabora域名加端口号
      - DONT_GEN_SSL_CERT=true
      # 强制使用指定域名
      - OOO_DISABLE_PDF_IMPORT=true
    cap_add:
      - MKNOD
    ports:
      - "9980:9980"
    restart: unless-stopped
    volumes:
      - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    network_mode: "bridge"  # 使用默认的bridge网络

配置反向代理,相关内容按实际情况修改即可

server {
    listen 443 ssl http2;
    server_name 域名;

    ssl_certificate pem证书路径;
    ssl_certificate_key key证书路径;
    

    location / {
        proxy_pass http://ip:9980;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # 支持 WebSocket
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

测试,浏览器访问collabora域名/hosting/discovery,会返回一个XML信息并且信息内的域名都是带端口的,说明collabora部署成功了,接下来就可以配置cloudreve了。

配置cloudreve

cloudreve_v4

cloudreve_v4-1

登录cloudreve,依次点击管理面板-文件系统-文件浏览应用-添加应用-WOPI协议应用,添加 网址 collabora域名/hosting/discovery 到对话框内即可实现在线编辑文档功能了。

打赏
评论区
头像
文章目录

本站已运行: