查看原文
其他

掌控数据:使用Docker搭建CloudDrive私有云盘

诺多 高等精灵实验室 2023-09-17

关于云盘,相信大多说人都听说或正在使用某度、某云、某翼等等厂商提供的云盘产品,正常来说也没什么太大的问题。但是,如果你对自己的数据安全、隐私、钱包等方面比较在意,且你用一台NAS,那么你完全可以自己搭建一套私人云盘系统,完全拜托商业云盘的舒服,并且也可以将其纳入其中。当然,私有云盘系统市面上很多,本文以CloudDrive为例进行讲解。

CloudDrive是什么?

CloudDrive是一个强大的多云盘管理工具,提供了包含云盘本地挂载的一站式的多云盘解决方案。具体来说,主要有以下特点:

  • CloudDrive是一个全能的云存储管理平台,旨在无缝集成多个云存储服务,将它们统一整合到一个用户友好的界面中。

  • 使用CloudDrive,用户可以轻松管理和访问所有云存储服务,无需在不同的应用程序和界面之间繁琐切换。

  • CloudDrive最引人注目的特点是其能够将多个云存储服务映射为本地磁盘,直接访问文件而无需预先下载。想象一下,您可以将云存储服务作为本地文件系统的一部分来使用,这种便利性不言而喻。

当然,CloudDrive还提供了其他高级功能,如快速的云端文件传输、实时的云文件通知和应用级别的权限控制等。在安装方式上,除了支持Docker外,还支持Windows、Linux、macOS、Android等多个平台原生安装,本文仅介绍Docker安装,其他安装方式可到官网直接下载相应的安装包即可。

安装与运行

Docker安装


登录Nas的ssh,在终端中输入一下命令:

docker run -d \
--name clouddrive \
--restart unless-stopped \
--env CLOUDDRIVE_HOME=/Config \
-v /share/documents/cloud:/CloudNAS:shared
-v /share/Container/clouddrive2/config:/Config
-v /share/media1:/media1:shared
-p 19798:19798
--network bridge \
--privileged \
--device /dev/fuse:/dev/fuse \
cloudnas/clouddrive2

说明

  • /share/documents/cloud:/CloudNAS:shared:是指用于挂载其他网盘的挂载点,安装自己的实际情况设置一个即可

  • /share/Container/clouddrive2/config:/Config: 是指设置CloudDrive配置目录,建议在Docker目录中创建一个单独文件夹

  • /share/media1:/media:shared:是指设置本地的目录,按自己实际情况设置即可,可以设置多个

  • --privileged:是指以特权模式运行容器,避免各种权限问题

Docker Compose安装


首先,要使用Compose部署CloudDrive,需提前安装Docker Compose,命令如下:

pip3 install docker-compose

第二、安装完成以后,将以下内容粘贴到compose.yml文件中,并上传到Nas上

version: "3.8"
services:
cloudnas:
image: cloudnas/clouddrive2
container_name: clouddrive2
network_mode: bridge
ports:
- 19798:19798
environment:
- TZ=Asia/Shanghai
- CLOUDDRIVE_HOME=/Config
volumes:
- /share/documents/cloud:/CloudNAS:shared
- /share/Container/clouddrive2/config:/Config
- /share/media1:/media:shared
devices:
- /dev/fuse:/dev/fuse
restart: unless-stopped
privileged: true

说明:相关参数的含义与Docker部署时一样

然后,登录Nas的ssh,切换到compose.yml文件的目录,执行以下命令:

docker-compose up -d

以上,CloudDrive就部署完成了,在浏览器中输入Nas的ip+端口号<19798>即可打开Web管理页面。

注册与登录

首次打开管理界面,需要先注册一个账号,点击注册按钮,跳转到注册页面,输入邮箱和密码即可完成注册。

注册完成后,会自动跳转到登录界面,用上面注册的邮箱和密码登录即可


登录后,就进入用户使用页面了。

挂载外部云盘

第一步、 以添加“某度云盘”为例,点击白云图标,然后选择“某度云盘”

第二步、 点击打开授权网页按钮,跳转到授权页面,同意即可


最后, 在主界面上就会显示刚刚授权的云盘,可以点击查看网盘中的文件。

挂载本地文件

第一步、 点击白云图标,然后选择“本地文件夹”

第二步、 在弹出的文件选择界面,选择在安装环节映射好的文件夹,比如/media1,然后点击选中按钮即可

最后、 点击界面的根节点,改在的本地文件夹就显示出来了。

使用WebDAV服务

上面通过改在外部云盘和本地文件夹的方式,已经把资源集成到CloudDrive中了,用户也可以在CloudDrive后台方便的管理文件和资料,同时CloudDrive也提供了WebDAV,可以在电脑上直接挂载CloudDrive上面的文件夹,在电脑上管理文件。

WebDAV支持Windows、macOS、Linux等多平台,所以无需担心兼容性,要使用WebDAV,以macOS为例:

首先, 打开访达,在菜单栏中店家前往-->连接服务器,然后输入:http://nasip:19798/dav

接着, 在弹出的输入框中输入CloudDrive中的账号邮箱和密码,点击连接,即可将CloudDrive中管理的云盘和本地文件夹改在到电脑本机


跨云盘复制

如果你想在多个外部云盘直接复制文件,使用CloudDrive可以极大减少传输时间,CloudDrive充分利用云盘的秒传机制,尽最大可能实现秒迁移。

秒传机制是一种可以快速完成文件传输的技术,它的工作原理是在上传文件前先获取文件的哈希值,然后将哈希值发送到服务器,服务器根据哈希值检查文件是否已经存在。如果文件已经存在,服务器就不需要再接收文件数据,而是直接创建一个新的文件记录,指向已存在的文件数据,从而实现秒传。这种方式无需重新计算文件的哈希,尤其适用于使用相同哈希算法的不同云盘之间,或者相同云盘不同账号之间的迁移,能够做到真正的秒传。

当然,不是所有的文件都可以使用秒传机制。对于这些文件,CloudDrive仍然提供了高效的迁移方案。CloudDrive可以直接将文件从一个云盘下载并上传到另一个云盘,而无需先将文件下载到本地。这样,用户就无需担心本地存储空间不足的问题,也无需担心下载和上传过程中的网络问题。

总的来说,CloudDrive的云盘之间迁移功能提供了一种方便快捷的解决方案,让用户可以更轻松地管理和移动他们的云数据。无论是需要迁移大量数据,还是需要在多个云盘服务之间同步数据,用户都可以信赖CloudDrive,得到满意的结果。

以下是CloudDrive秒传支持情况:

密码重置和账号等级

需要说明的是,由于云端存储的用户信息是由用户本地密码加密,所以CloudDrive不支持修改密码,如忘记密码,可以重置密码,在登录界面点击重置按钮,按提示重置,重置将清空你在云端存储的账号信息并重置你的密码。

CloudDrive默认免费的账号仅支持添加2个网盘和1个本地挂载,如果要解除这些限制目前需要买官方的会员,不过一般来说免费的已经够用了。

注意:重置密码将清空你在云端存储的账号信息并重置你的密码,但不会影响你的会员计划。

外部访问

最后,如果你需要在公网访问CloudDrive,则需要你的Nas能被外网访问到,这就涉及到公网IP的问题了,在此不做过多延伸。

假如你的Nas可以被外网访问,则只需要使用DDNS域名+反向代理即可,推荐使用NPM(Nginx Proxy Manger)代理内网的CloudDrive,在外网使用域名的方式访问。

到这里,你再也不用忍受某度的龟速下载啦!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存