diff --git a/apps/clouddrive2/0.9.0/.env b/apps/clouddrive2/0.9.0/.env new file mode 100644 index 0000000..bee4f93 --- /dev/null +++ b/apps/clouddrive2/0.9.0/.env @@ -0,0 +1,6 @@ +# 数据持久化路径 [必填] +CLOUDDRIVE2_ROOT_PATH=/home/clouddrive2 + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=19798 + diff --git a/apps/clouddrive2/0.9.0/data.yml b/apps/clouddrive2/0.9.0/data.yml new file mode 100644 index 0000000..2e4e838 --- /dev/null +++ b/apps/clouddrive2/0.9.0/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: "/home/clouddrive2" + edit: true + envKey: CLOUDDRIVE2_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 19798 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI port + required: true + rule: paramPort + type: number diff --git a/apps/clouddrive2/0.9.0/docker-compose.yml b/apps/clouddrive2/0.9.0/docker-compose.yml new file mode 100644 index 0000000..c326d79 --- /dev/null +++ b/apps/clouddrive2/0.9.0/docker-compose.yml @@ -0,0 +1,30 @@ +networks: + 1panel-network: + external: true +services: + clouddrive2: + cap_add: + - SYS_ADMIN + container_name: clouddrive2 + devices: + - /dev/fuse:/dev/fuse + env_file: + - ./envs/global.env + - .env + environment: + - TZ=Asia/Shanghai + - CLOUDDRIVE_HOME=/Config + image: cloudnas/clouddrive2:0.9.0 + labels: + createdBy: Apps + networks: + - 1panel-network + pid: host + ports: + - ${PANEL_APP_PORT_HTTP}:19798 + privileged: true + restart: always + volumes: + - ${CLOUDDRIVE2_ROOT_PATH}/CloudNAS:/CloudNAS:shared + - ${CLOUDDRIVE2_ROOT_PATH}/Config:/Config + - ${CLOUDDRIVE2_ROOT_PATH}/media:/media:shared diff --git a/apps/clouddrive2/0.9.0/envs/default.env b/apps/clouddrive2/0.9.0/envs/default.env new file mode 100644 index 0000000..cd05f46 --- /dev/null +++ b/apps/clouddrive2/0.9.0/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/apps/clouddrive2/0.9.0/envs/global.env b/apps/clouddrive2/0.9.0/envs/global.env new file mode 100644 index 0000000..e10989f --- /dev/null +++ b/apps/clouddrive2/0.9.0/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/apps/clouddrive2/0.9.0/scripts/init.sh b/apps/clouddrive2/0.9.0/scripts/init.sh new file mode 100644 index 0000000..07fb8c3 --- /dev/null +++ b/apps/clouddrive2/0.9.0/scripts/init.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/clouddrive2/0.9.0/scripts/uninstall.sh b/apps/clouddrive2/0.9.0/scripts/uninstall.sh new file mode 100644 index 0000000..c86c4fb --- /dev/null +++ b/apps/clouddrive2/0.9.0/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/clouddrive2/0.9.0/scripts/upgrade.sh b/apps/clouddrive2/0.9.0/scripts/upgrade.sh new file mode 100644 index 0000000..07fb8c3 --- /dev/null +++ b/apps/clouddrive2/0.9.0/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/clouddrive2/README.md b/apps/clouddrive2/README.md new file mode 100644 index 0000000..fe68ee2 --- /dev/null +++ b/apps/clouddrive2/README.md @@ -0,0 +1,40 @@ +# CloudDrive + +CloudDrive是一个强大的多云盘管理工具,为用户提供包含云盘本地挂载的一站式的多云盘解决方案。 + +![CloudDrive](https://file.lifebus.top/imgs/clouddrive2_cover.png) + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + ++ CloudDrive是一个全方位的云存储管理平台,旨在无缝集成多个云存储服务,将它们统一整合到一个界面中。 使用CloudDrive,您可以轻松管理和访问所有云存储服务,无需在不同的应用程序和界面之间来回切换。 ++ CloudDrive最引人注目的特点是其能够将多个云存储服务挂载为本地磁盘,直接访问文件而无需预先下载。想象一下,您可以将云存储服务当作本地文件系统的一部分来使用,带来的便利性不言而喻。 ++ 但这还不是全部 - CloudDrive还提供了高级功能,如快速的云端文件传输、实时的云文件通知和应用级别的权限控制。无论您是高级用户还是普通云存储用户,CloudDrive都能以卓越的效率和易用性让您充分发挥云存储资源的潜力。 + +## 运行前准备 +Clouddrive 使用 fuse3 来挂载云存储服务,使用fuse3在Docker容器中挂载云存储服务时,需要在主机系统上启用共享挂载。这可以通过在Docker服务配置中设置MountFlags选项或在主机系统上使用mount +--make-shared命令来实现。这是因为FUSE3需要共享挂载才能正常工作,如果没有共享挂载,挂载将会失败并显示“权限被拒绝”的错误。通过启用共享挂载,FUSE3挂载可以在Docker容器和主机系统之间共享,从而实现对云存储服务的无缝访问。 + +为了在 Docker 容器中启用 fuse 并将挂载分享给主机,需要在主机上设置以下选项之一: + +选项 1:当Docker是以systemd service运行时,在 Docker 服务中启用 MountFlags +```sh +sudo mkdir -p /etc/systemd/system/docker.service.d/ +sudo cat < /etc/systemd/system/docker.service.d/clear_mount_propagation_flags.conf +[Service] +MountFlags=shared +EOF +sudo systemctl restart docker.service +``` + +选项 2:当Docker不是以systemd service运行时,在主机上启用共享挂载选项 +```sh +sudo mount --make-shared $(df -P /path/to/dir | tail -1 | awk '{ print $6 }') +``` + +> 注意:mount --make-shared 命令只在当前运行的系统中生效,重启后需要重新执行。如需重启后自动运行CloudDrive,请将该命令添加到系统启动项中。 + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/clouddrive2/clouddrive2_h.png b/apps/clouddrive2/clouddrive2_h.png new file mode 100644 index 0000000..0a2949f Binary files /dev/null and b/apps/clouddrive2/clouddrive2_h.png differ diff --git a/apps/clouddrive2/data.yml b/apps/clouddrive2/data.yml new file mode 100644 index 0000000..e3ed400 --- /dev/null +++ b/apps/clouddrive2/data.yml @@ -0,0 +1,14 @@ +additionalProperties: + key: clouddrive2 + name: CloudDrive + tags: + - WebSite + - Local + shortDescZh: 多云盘管理工具 + shortDescEn: Multi-cloud drive management tool + type: website + crossVersionUpdate: true + limit: 0 + website: https://www.clouddrive2.com/ + github: https://www.clouddrive2.com/ + document: https://www.clouddrive2.com/ diff --git a/apps/clouddrive2/logo.png b/apps/clouddrive2/logo.png new file mode 100644 index 0000000..81e0efc Binary files /dev/null and b/apps/clouddrive2/logo.png differ diff --git a/apps/cloudreve/4.0.0/docker-compose.yml b/apps/cloudreve/4.0.0/docker-compose.yml index b9151af..33a4756 100644 --- a/apps/cloudreve/4.0.0/docker-compose.yml +++ b/apps/cloudreve/4.0.0/docker-compose.yml @@ -9,7 +9,7 @@ services: - .env environment: - TZ=Asia/Shanghai - image: loudreve/cloudreve:4.0.0 + image: cloudreve/cloudreve:4.0.0 labels: createdBy: Apps networks: