diff --git a/clouddrive2/0.9.0/data.yml b/clouddrive2/0.9.0/data.yml new file mode 100644 index 000000000..2e4e8381f --- /dev/null +++ b/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/clouddrive2/0.9.0/docker-compose.yml b/clouddrive2/0.9.0/docker-compose.yml new file mode 100644 index 000000000..2cc8854ab --- /dev/null +++ b/clouddrive2/0.9.0/docker-compose.yml @@ -0,0 +1,31 @@ +networks: + 1panel-network: + external: true + +services: + clouddrive2: + image: cloudnas/clouddrive2:0.9.0 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + privileged: true + networks: + - 1panel-network + devices: + - /dev/fuse:/dev/fuse + cap_add: + - SYS_ADMIN + pid: "host" + ports: + - ${PANEL_APP_PORT_HTTP}:19798 + env_file: + - ${GLOBAL_ENV_FILE:-/etc/1panel/envs/global.env} + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${CLOUDDRIVE2_ROOT_PATH}/CloudNAS:/CloudNAS:shared + - ${CLOUDDRIVE2_ROOT_PATH}/Config:/Config + - ${CLOUDDRIVE2_ROOT_PATH}/media:/media:shared + environment: + - TZ=Asia/Shanghai + - CLOUDDRIVE_HOME=/Config diff --git a/clouddrive2/0.9.0/envs/default.env b/clouddrive2/0.9.0/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/clouddrive2/0.9.0/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/clouddrive2/0.9.0/envs/global.env b/clouddrive2/0.9.0/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/clouddrive2/0.9.0/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/clouddrive2/0.9.0/scripts/init.sh b/clouddrive2/0.9.0/scripts/init.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/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/clouddrive2/0.9.0/scripts/uninstall.sh b/clouddrive2/0.9.0/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/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/clouddrive2/0.9.0/scripts/upgrade.sh b/clouddrive2/0.9.0/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/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/clouddrive2/README.md b/clouddrive2/README.md new file mode 100644 index 000000000..fe68ee24b --- /dev/null +++ b/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/clouddrive2/data.yml b/clouddrive2/data.yml new file mode 100644 index 000000000..e3ed4009f --- /dev/null +++ b/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/clouddrive2/logo.png b/clouddrive2/logo.png new file mode 100644 index 000000000..2512e2b9c Binary files /dev/null and b/clouddrive2/logo.png differ