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
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
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;
}
}
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"
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
# 扩展文档预览/编辑
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
你可以手动访问 <你的 OnlyOffice 主机>/hosting/discovery
来确认是否返回了预期的 XML 响应。
在 后台 - 参数设置 - 图像与预览 - 文件预览 - WOPI 客户端 中开启 使用 WOPI
并在 WOPI Discovery Endpoint
中填入<你的服务主机>/hosting/discovery
。保存后可在前台测试文档预览和编辑
警告
OnlyOffice 不支持过滤 WOPI 请求来源,如果你有对公使用需求,请通过外部应用防火墙检查预览页面请求中 wopisrc
参数是否为预期的 Cloudreve 站点。
- 01
- element-plus多文件手动上传 原创11-03
- 02
- TrueLicense 创建及安装证书 原创10-25
- 03
- 手动修改迅捷配置 原创09-03
- 04
- 安装 acme.sh 原创08-29
- 05
- zabbix部署 原创08-20