自建家庭云相册方案
1. 背景
1.1 故事
-
手机100G的照片+视频
-
手机丢失后,如果没有全部云备份,所有的照片+视频+资料全部丢失
-
手机厂商自带云存储通常只有5GB免费空间,订阅收费比较贵,云备份满了之后就关闭了照片备份,只备份了联系人、备忘录系统配置
-
华为手机云存储198¥/年/200GB
-
iphone手机icloud云存储可以在土区132¥/年/200GB
-
1.2 需求
有没有什么方案可以既能私密又能免费无限容量呢?
-
备份手机上的照片和视频,可以是手动备份
-
私密性:部署在自己家庭服务器上
-
支持2TB+的存储空间
-
免费
-
支持多地灾备(不止一个磁盘)
-
云相册功能
-
不限制手机系统类型:Android和ios都需要支持
2. 备份方案选型
三种大的思路方案
-
手机的云空间:通常都会带有云相册功能,也有AI功能,主要是服务器在云厂商
-
商用NAS:需要购买一个NAS设备,然后可以自动备份照片,也有相册功能
-
自建家庭云相册:部署开源的云相册功能,支持自动备份照片
商用云相册和自建家庭云相册对比
类型 | 私密性 | 价格 | 易用性 |
---|---|---|---|
手机云空间 | 不安全 | >130¥/年 | 同步方便,无需任何折腾 |
商用NAS | 安全 | >1500¥ | 同步方便,但是云相册功能都不太丰富,但有些NAS也支持docker自己部署开源云相册 |
自建家庭云相册 | 安全 | 家用电脑即可 | 需要有一定的折腾能力,部署开源的服务 |
3. 自建家庭云相册方案
方案选型
手机云空间、商用NAS都是有一定的费用成本的。自建家庭云相册完全私密而且只需要有一台家用电脑即可,对于我来说是免费的。所以需要选择一个开源方案即可。
能支持自动备份照片+云相册功能的一些方案比较不错的有以下
-
immich:使用docker部署immich开源服务,搭配一个immichAPP
-
黑群晖:使用虚拟机部署一个黑群晖系统+synologyphoto软件+synologyphotoAPP,也可以docker直接部署,但是不稳定,空间扩展也不方便
-
MT-photos:电脑安装MT-photos服务,搭配一个mt-photoAPP
-
Nextcloud:NextCloud服务+app
以上这些都是需要部署开源服务,所以私密性一样,主要对比一些功能
方案 | 部署难度 | 云相册功能 | 稳定性 | 更新频率 | IOSAPP | AndroidAPP | 费用 | 教程 | 空间扩展 |
---|---|---|---|---|---|---|---|---|---|
immich | ※※※ | ※※※※※ 丰富,迭代快速 |
※※※※ | 周 | AppStore | github下载 | 0 | immich | 简单、无限 |
黑群晖 | ※※※※※ | ※※※ | ※※※ | 年 | AppStore | 非官方应用商店 | 0 | YouTube | 复杂,无限 |
MT-photos | ※ | ※※※※ | ※※※※ | 月 | AppStore | 官方应用商店 | 99¥ | MTPhotos | 简单,无限 |
Nextcloud | ※※※ | ※※ | ※※ | 年 | AppStore | 非官方应用商店 | 0 | 简单,无限 |
重度使用对比了immich和黑群晖synologyphoto,主要考虑到以后存储的扩展性,黑群晖存储扩展需要迁移操作也复杂,而且限定了文件系统,软件出问题后读取照片也费劲,另外100G照片时APP加在很卡。 所以最终选择了immich方案,持续使用3月+,187G照片
immich方案
功能图
部署图
公网访问
这套方案最终使用下来,只有一个问题:只能在内网访问。
不过也有2种解决办法:
-
ipv6:亲测可用,但是有些路由器对ipv6支持不够好,比如不支持ipv6的防火墙个性化配置
-
内网穿透:需要收费、复杂、网速相对慢
考虑到路由器全面开放IPV6访问带来的安全问题,我还是能接受只在内网访问备份和查看云相册。 等日后路由器功能升级支持IPV6防火墙配置,在开放就可以随时随地访问家庭云相册了。
4. 扩展
前面主要考虑云相册的功能,其实需要备份的还有其他文件资料,比如办公word、ppt、excel之类的文件,这些文件也需要有备份的习惯,否则电脑某天进水、磁盘坏道后悔莫及。
当然也是类似有云空间直接备份,但考虑到私密安全性最好还是自己部署。
1主机2硬盘
基于一个家庭电脑,另外留一个硬盘2专门用于备份盘:
-
电脑端:使用crontab定时任务定期调用rsync同步文件到硬盘2。
-
手机端:使用FolderSync自动同步到硬盘2(基于Samba协议)
异地备份
1主机的问题在于,资料盘和备份盘在同一个电脑上,如果失火之类的灾难导致两个硬盘同时坏掉,那么资料仍然不安全。
异地备份就可以解决以上问题,但是需要在异地部署一个服务器和备份盘。这个场景肯定很少发生,所以最好使用一个低成本、低功耗的嵌入式开发板+一个硬盘盒(可以插多个硬盘),定期备份的频率也可以很低(比如1次/月)
双备份
因为异地备份的频率比较低,可以考虑前面两种方案的结合:在A地日常办公的电脑上专门留一个备份盘2,然后日常的同步频率可以是1次/小时,在B地老家的同步可以是1月/次,B地定时开关机即可。
不适用场景
这种备份比较适合单文件比较小的日常的资料文件,如果类似于数据库那种上GB的单个文件,而且经常变化就没有必要这么备份了。当然如果是电影等这种不会持续变化的大文件也可以备份,因为一次备份后不会再更新了。