本文实际写于 2017年,到现在2023年初需求已经发生很多变化。
https://dev.leiyanhui.com/all-in-one/my-netdisk
搭建私有网盘的一些需求和想法
日常使用环境
- win8 win11 + ubuntu linux desktop+ ios设备
- vbox 虚拟机已经在跑ubuntu+宝塔
- 多远程环境使用,笔记本性能拉胯
需求:
- 自动备份 桌面环境下 某些文件 [只要能挂载 sysnc之类的软件可以简单搞定]
- 标准目录储存
- ios 只要求能访问 ES文件浏览器 支持 smb ftp sftp webdav 等多环境 不是问题
- 文件实际保存在 windows NTFS分区 ,方便管理维护
- 可以自动同步到 公用云 阿里云盘 百度云
- 可以加密储存
- 视频文件可绕过公用云的 ai 原因你懂的哈
- 支持在线视频音乐播放
- 文本文件编辑,md文件编辑
- 尽可能的替代群晖
抛弃的方案:
- 群晖:确实好用,但是 无法使用物理机的文件系统作为数据目录,另外黑群晖也存在不稳定的情况
- seafile nextcloud 等私有盘系统,过于繁琐,且免费版限制较多
- unraid : 也不错,但是多数功能还是需要自行解决,在不嵌套虚拟机docker的情况下,同样没太大意义
最终方案
- 用来运行宝塔的虚拟机,通过ftp或者smb挂载物理机目录到虚拟机内
- 基于php+文件系统的 私有云方案 可道云 nextcloud phpEasyVCS 等
- 虚拟机 linux中挂载本地硬盘 并映射到 虚拟机的指定目录
- 阿里云 webdav容器+百度云 两种方式
可道云相关功能
- kodbox支持 sqlite 支持 mysql 也有一个版本[KodExplorer]可以无数据库运行,但是不支持webdav[可以用phpEasyVCS 解决]
- kodbox的redis 不支持密码连接 [小事情] 自己用访问量不大,也可以用文件缓存 或者Memcached
- 免费版本 除了用户数限制之外,定时备份不支持文件备份[可以用linux shell 解决]
- 支持在线编辑md 文本
- 没找到 文件加密储存方法,
- 视频文件可以用自定义后缀名绕过公用云
- 机密文件 自行用zip加密算了
- 经过简单测试 KodExplorer 可以保持原目录结构保持文件 KodBox拆分日期保存。
- 也就是 KodBox 反而集合了seafile的缺点,还自带了owncloud 和nexcloud的php低效缺点 。不符合我需求,KodExplorer 不错,但是不支持 oss和百度云云挂载,也不支持webdev 不过这些都可以解决。KodExplorer 更像是一个加强版的在线文件管理器。KodExplorer完全开源,版权可以修改,但是会有一个修改提示。
中间的
- 在线文件关联 简单编辑 音影视频播放 KodExplorer
- webdav 使用php 或者apache/nginx功能搞定
- 手机ios访问,es文件管理器 用sftp 或webdav
- Windows系统访问,sftp挂载 或者 webdav挂载
- 公用云备份功能:阿里云盘目前可以用webdav暂时先用,百度云盘也尽量搞定防止阿里云盘失效,坚果云虽支持webdav但是免费版限制太多,收费版速度一般般,阿里oss 储存其他一些文件
- 远程下载功能:远程桌面直接迅雷,后期单独搭建一个Aria
- 公有云备份功能1:宝塔自带的备份到oss功能
- 公有云备份功能2:rclone挂载
最终的选择
自己用golang写了一个 webdav,部分环境用nginx做webdav