unRAID下使用Docker部署iCloud直连相片备份服务

2021-02-24 15:42:54 83点赞 778收藏 53评论

创作立场声明:本人为不知名某小厂产品狗,在网络上学到一些专业知识。然而每个人站在不同立场,内容就会有所偏重,客观与否还请大家指正,期待深入探讨交流。

鉴于有很多朋友不喜欢看一堆叨逼叨的文字,伸手党和时间管理大师们可以直接从"部署步骤"开始看.

碎碎念

自从2018年左右上车买了一台星际蜗牛之后,我便开始了NAS的折腾之路一发不可收拾(有空会考虑再水几篇自己DIYNAS的想法).中间我也尝试过了包括群晖(黑的),unRAID,trueNAS等几个系统的部署搭建,其中使用最多的是unRAID这个系统(具体的unRAID搭建网上是一搜一大堆,我在这就不重复造轮子了),原因是既有NAS功能,也有比较完善的虚拟机管理功能,还有折腾的最多的Docker,这次就分享一下unRAID下使用Docker部署iCloud备份服务.这些步骤其实也完全可以在支持docker的其他环境,比如树莓派,macOS(话说什么样的家庭会用Mac来当NASunRAID下使用Docker部署iCloud直连相片备份服务 ),还有x86群晖,威联通等成品NAS系统下部署,当然前提是支持docker了.(那些在trueNAS,esxi,PVE上用虚拟机虚拟带docker的系统,然后在下面套娃的同学请坐下)

为什么选icloudpd?

作为NAS,最常用的就是各种数据的存储备份,之前也使用过在docker上部署nextcloud服务,群晖中的moment套件,CloudSync套件备份百度云和坚果云.但这里就可能会有长得帅的朋友问:"那为什么选icloudpd呢?"

其实我觉得存储备份文件是一个比较笼统的需求,按照文件的不同用途类型使用场景,其实分开备份会更加合理,用得更加舒服,也显得我更加细.比如:

  • 影视类文件,下载后到NAS后我会提供给Jellyfin或者emby之类的服务来实现多人共享观看

  • 音频类文件,备份后我会通过群晖的套件在线播放

  • 工作文档类文件,我会通过使用群晖的Drive套件或SVN等方式来实现文件的版本管理和多人协同办公

  • 其他类型文件,还没想到怎么使用的,例如工具安装文件之类的不常用杂七杂八的文件,就随便放在一个地方就行了


  • 手机图片视频类文件,因为不止我一个人觉得,重要的人重要的时刻,记录下来的东西比较珍贵,因此这部分的文件最好是原汁原味的,也会独立的存放


基于最后一个类型的文件,由于我是长期使用苹果的iCloud服务,后来发现iCloud也支持通过接口访问来下载对应的图片视频数据,而icloudpd就是专门做这件事情的,闲话先说这么多,下面开始部署吧.

部署步骤

下面是几个步骤,快的话几分钟就完事.

1.配置unRAID下的Docker"应用商店"

其实就是简单的一行,而且基本上搭建unRAID的教程也会顺便带上,那我也顺便带上吧.只需要在Plugins页面的Install Plugin分页上安装插件,刷新页面,unRAID的导航上就会多出了APP这个标签了,插件地址如下:

https://raw.githubusercontent.com/Squidly271/community.applications/master/plugins/community.applications.plg

这个基本上用unRAID的朋友都会装的吧?不会吧?不会还有用unRAID的没装这个吧?

2.搜索icloudpd镜像并完成配置

搜索框输入icloudpd,结果就一个

unRAID下使用Docker部署iCloud直连相片备份服务

在APP上搜的好处,是已经有现成的配置模板,而且模板里面已经有很详细的说明(虽然是英文但我有浏览器翻译),方便我(懒人)们不用配置太多东西,只需要配置必要的几个变量,如果有些变量没有的就自己添加.这里我使用的镜像是这个

boredazfcuk/icloudpd

设置完是这样的:

unRAID下使用Docker部署iCloud直连相片备份服务


配置的变量和说明如下:

[varable]变量设置

  • Apple ID : 你appleID账号,必填

  • Synchronisation Interval (seconds) : 同步间隔时间,单位秒,默认好像是43200,必填

  • Time Zone : 设置时区,国内可以设置为Asia/Shanghai

  • authentication_type : 你appleID的验证方式,2FA为两步验证,其余是Web验证

  • folder_structure : 子文件夹的结构,默认是按年月日分{:%Y/%m/%d},个人建议到月{:%Y/%m}就好了

  • convert_heic_to_jpeg : 是否把heic的照片转化为jpeg,这里建议选false,就原汁原味了

[Path]路径设置

  • AppData Config Path : 服务的config保存路径,一般在appdata下新建一个文件夹保存,必填

  • Data : 备份图片和视频的NAS文件夹,记得配置读写权限,必填


(其他的好像是和telegram联动的,没试过,不影响使用,就不多说了)

简单说明一下,在unRAID的Docker下,配置的类型分别有:[Path]路径,[port]端口,[varable]变量,[Label]标签,[Device]设备,如果使用Portainer下配置Docker,path对应的就是volumes,varable对应的就是env,dockerhub的说明上对应的就是-v,-p,-e.


3.两步验证下载,首次启动运行脚本(非必须步骤)

由于苹果的安全机制,登录appleID后,会进行两部验证,至于怎么个验证法,苹果用户应该不陌生.我们只需要在命令行上输入下面的命令:

docker exec -it icloudpd /usr/local/bin/sync-icloud.sh

接下来会询问你验证方式是短信还是通过其他苹果设备的显示的验证码验证,比如我这里,是设备验证码

验证完成,服务就成功部署好了,如果我们在unRAID下也部署了Portainer,可以通过查看日志看到对应的记录.成功后,照片就是根据你文件结构配置,下载到你指定的NAS位置去了,而且没有进行任何转换压缩,手机上也不需要安装什么APP来做上传同步了

总结

潜水多时,在张大妈这里学了这么多姿势,我也终于想要回馈一下,把自己研究的东西分享一下.因为个人比较闷骚嘴碎浪,我的文章中会适度玩梗,但同时不是什么专业人士,只是闲余折腾,说的不对的不严谨的地方大家包涵.

如果喜欢的朋友多了,我也可能有继续分享其他关于NAS玩法的动力了.这次就先这样咯.


展开 收起
53评论

  • 精彩
  • 最新
  • 这个是单向同步还是双向?可否同步到NAS后把icloud上的照片删掉腾出空间?

    校验提示文案

    提交
    试过是单向的

    校验提示文案

    提交
    如果同步完之后删除云端数据,然后手机又会继续同步到云端,然后。。。。。

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 既然是docker,就没必要非uraid不可吧

    校验提示文案

    提交
    是的,里面也说了,只要支持docker的环境都行,只不过实操和截图是在unRAID下完成,unRAID下用docker有简单的模版

    校验提示文案

    提交
    收起所有回复
  • 能不能回家之后手机在nas环境中自己静默备份照片呢

    校验提示文案

    提交
    不需要的,只要到了icloud之后自动就备份了

    校验提示文案

    提交
    回去照文章研究下

    校验提示文案

    提交
    收起所有回复
  • 怎么我参数都和你不一样,convert_heic什么的都没有

    校验提示文案

    提交
    那个是自己添加的

    校验提示文案

    提交
    收起所有回复
  • 威联通可以用吗?

    校验提示文案

    提交
    只要支持docker就行

    校验提示文案

    提交
    收起所有回复
  • 如果是单向的,百度云是不是就OK了

    校验提示文案

    提交
    个人不喜欢百度,我能不用就不用了

    校验提示文案

    提交
    收起所有回复
  • 直接用群辉的DS PhoTo 不是挺好的 直接打开备份

    校验提示文案

    提交
    群晖和nextcloud的大家都知道,而且文章一大堆,这里是再给另外一个路子

    校验提示文案

    提交
    收起所有回复
  • 安卓苹果双持党有没有办法同步呢?

    校验提示文案

    提交
    双持的可能就要用nextcloud ,moment等等的老套路了

    校验提示文案

    提交
    其实可以直接用nextcloud,不过这个很多文章都有,就不再造轮子了,这里给大家另外一个选择

    校验提示文案

    提交
    收起所有回复
  • 建议不要使用这种第三方的docker镜像连接icloud账号 风险非常非常大

    校验提示文案

    提交
    可以拿到dockerfile自己做

    校验提示文案

    提交
    收起所有回复
  • 好像用处不大,我还是继续用nextcloud吧

    校验提示文案

    提交
  • iCloud 重来不放照片 都是直接photo 文件直接每天备份 到nas 上

    校验提示文案

    提交
    请问是用的什么方法?

    校验提示文案

    提交
    一种是手机照片公布到iMac 里的photo 然后备份就好了

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 好东西 就是不知道安全如何

    校验提示文案

    提交
    可以去查源码 [邪恶]

    校验提示文案

    提交
    收起所有回复
  • 这个教程才好,多新鲜,我喜欢这样的玩nas玩docker的文,感谢又学到了!

    校验提示文案

    提交
  • 我不会把自己的Apple账户暴露给任何人,希望用这种方法的人以后隐私被盗,不要去找苹果

    校验提示文案

    提交
  • 看介绍,应该是可以同步多个icloud账户,麻烦增加一些介绍!

    校验提示文案

    提交
  • 这个厉害!会不会收到苹果公司的律师函

    校验提示文案

    提交
  • 嫌iCloud太贵,停止付费后我就选择不备份相册了。手机相册用群晖和Google相册双备

    校验提示文案

    提交
    一样的选择 [赞一个]

    校验提示文案

    提交
    谷歌相册也要收费了

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 感谢分享,想问 Live Photo 下载过来是什么样子的?

    校验提示文案

    提交
    live photo就是一小段视频+照片

    校验提示文案

    提交
    收起所有回复
  • 有空试试看 [高兴] [高兴]

    校验提示文案

    提交
  • 想知道怎么自建个iCloud,彻底根治各种难题

    校验提示文案

    提交
    苹果老贼会允许你自己建吗?

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

高丽肠

Ta还没有介绍自己

关注 打赏
作者其他文章
最新文章 热门文章
778
扫一下,分享更方便,购买更轻松