备份icloud到NAS,支持同步删除,绿联私有云部署icloud照片自动同步工具

2024-06-27 15:03:15 3点赞 19收藏 4评论

大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~

前言

说到手机照片存储,google相册和icloud必然是商业代表的两个顶流!无论是无感备份、操作易用、使用体验与效果上,都是一顶一的没话说。

相比较于NAS照片管理来说,虽然各大品牌方都推出了自己的官方相册管理套件,也涌现了如mtphotos、immich、photoprism、ente、荔枝等等强大三方相册管理软件,但是在无感备份方面始终和苹果、安卓两大原生工具相差甚远。

不过好早,有一款专门针对苹果用户的icloud同步软件,支持将icloud的照片实时同步到我们的NAS端,还支持自动同步删除、消息通知,兼容nextcloud插件等等,便捷好用。

下面,Cherry就带大家来体验一下这款系统吧,相关镜像包可以从离线镜像库。

项目地址:https://github.com/boredazfcuk/docker-icloudpd

  • 只需配置Nextcloud设置,下载的每个文件都将上传到nextcloud服务器

  • 支持将HEIC文件转换为创建的JPG。

  • 支持同步删除。

  • 只需向TG聊天发送消息,容器就会接收并立即同步。

  • 可以通过向TG bot发送消息来重新验证您的 cookie!


系统部署

本次部署使用的机器是绿联DXP4800 Plus,Cherry前面分别用DXP4800 Plus折腾了群晖、爱快、openwrt、win11等等AIO玩法。这里说一句,虽然UGOS pro出师不利,出现了很多的BUG、问题,但从目前绿联目前的更新修复频率来看,还是看得出绿联是在极力的挽回系统的首发不利局面的。

相比于UGOS的底层架构,UGOS pro采用debian12内核,不论是自由度和可玩性上的确有了极大的提升。而且,像我们这样选择购买绿联DXP系列的小伙伴,应该对硬件做工也很种草,毕竟10G+2.5G网卡配置,5核6线程又兼顾功耗的强大CPU,双通道最大64G内存,都可以作为一台养老NAS硬件了。

🔴本项目建议使用docker-compose部署,因此建议使用SSH登录绿联私有云后台

一、创建文件夹与compose文件

首先在绿联私有云【文件管理器】——【共享文件夹】,创建一个docker的子文件夹,然后在docker文件夹下创建一个icloud的子文件夹,最终格式如下

image.pngimage.png

接着,打开绿联私有云【应用中心】,安装【文本编辑器】套件。该套件支持我们直接在NAS端打开各类文本文件进行编辑,十分方便,对于不会操作vi、vim、nano等linux新手玩家来说十分友好。

image.pngimage.png

打开【文件管理器】,选择【新增】——【docker】——【icloud】,将下面的代码修改后复制到文本内。

services: icloudpd: container_name: icloudpd image: boredazfcuk/icloudpd environment: - TZ=Asia/Shanghai - icloud_china=true - auth_china=true - apple_id="这里填写你的appleid" # 记得修改 - authentication_type=MFA # 如果没有开多重认证的,这里改成web # 扫描icloud“最近删除”,如果NAS里存在icloud删除,NAS未删除的照片则删除。注意这不是删除icloud的照片,而是删除NAS中的照片 # - auto_delete=true # 下载成功后,将照片移动到icloud“最新删除”。注意,该参数不会和auto_delete联动,放心打开。 - delete_after_download=true healthcheck: test: /usr/local/bin/healthcheck.sh start_period: 30s restart: always volumes: - icloudpd_config:/config # 从icloud下载后保存路径,这里的XXX是你的绿联用户名,注意必须先开启个人空间。当然你可以选择下载到/volume1/public目录下成为共享文件夹 - /volume1/@home/XXX/Photos/icloud/:/home/user1/iCloud/ volumes: icloudpd_config: name: icloudpd_config

然后点【文件】——【保存】,【文件名】为docker-compose,【文件类型】为yaml。

image.pngimage.png

二、登录SSH并启动容器

🔴因为目前UGOS pro的docker还不支持compose的可视化部署,所以我们需要使用ssh工具登陆绿联私有云后台进行部署,这里推荐ssh工具为finalshell。

打开绿联【控制面板】——【终端机】,在SSH处打勾,下面的端口更改后应用即可。

image.pngimage.png

打开finalshell,点击左上角的文件夹图标,选择白色文件夹,然后输入IP、账号、密码、端口登录。

image.pngimage.png

🔻从Cherry的离线库里下载【boredazfcuk.icloudpd.exe】镜像包,双击解压为【icloudpd.tar】,然后上传到绿联私有云的【/volume1/docker/icloud目录下】。

离线库云盘:https://www.alipan.com/s/kK4M9gHgFz7

提取码: tr40

image.pngimage.png

🔻接着我们登录ssh,依次输入以下指令

# 登录root sodu -i >再次输入默认账号的登录密码 # 导入离线库下载的docker镜像 docker load -i /volume1/docker/icloud/icloudpd.tar # 切换到icloud路径 cd /volume1/docker/icloud # 创建.mounted文件解锁故障保护功能,必须在iCloud的下载目录下新建一个.mounted文件,注意是文件!!!! 不是文件夹 touch /volume1/@home/XXX/Photos/icloud/.mounted

🔻关于上面.mounted比较简单的做法,除了在ssh操作外,还可以在windows下新建一个txt文档,改名为.mounted,然后上传到photos目录下,就像下图所示。

image.pngimage.png

🔻完成上面的步骤后,我们继续启动docker容器并初始化

# 启动容器 docker compose up -d # 初始化容器,icloudpd为你的容器名字 docker exec -it icloudpd /usr/local/bin/sync-icloud.sh --Initialise

🔻ssh上的操作步骤分为4步,分别是输入appid密码,输入y(确认登录),输入设备验证,输入二次验证。

image.pngimage.png

🔻成功下载icloud上备份的照片

image.pngimage.png

Q&A,以及nextcloud、通知配置

一、和nextcloud结合使用

所有的配置都可以容器的环境变量里去配置

# 将此项设置为 true 以将文件上传到 Nextcloud 服务器 nextcloud_upload:true # Nextcloud服务器地址 nextcloud_url: # Nextcloud账号 nextcloud_username: # Nextcloud密码 nextcloud_password: # 要放置文件夹目录,请注意,目前无法将文件上传到Nextcloud服务器的根目录。 nextcloud_target_dir: # 此设置要求 auto_delete 也设置为 true。当在“最近删除”中找到文件时,auto_delete功能将删除本地文件。如果 nextcloud_delete 也设置为 true,则它将从 Nextcloud 服务器中删除该文件。 nextcloud_delete:true

二、和TG bot结合使用

# 必填,指定用于发送通知的方法: Prowl、Pushover、Telegram、Webhook、openhab、Dingtalk、Discord、IYUU、WeCom、Gotify、Bark、msmtp notification_type:IYUU # 如果notification_type设置为“IYUU”,这是发送消息所需的访问令牌。 iyuu_token: # 如果notification_type设置为“WeCom”,这是企微ID。 wecom_id: # 必填,企微秘钥 wecom_secret: # 必填,企业ID agentid: # 必填,通知人,填写管理员id touser: # 必填,阅读原文跳转链接 / 点击“阅读原文”后的页面链接 content_source_url: # 必填,当前应用ID的所有人 name: # 非必填,用来绕过企业微信的IP白名单,参照nastools教学即可 wecom_proxy:

三、Q&A

(1)报错提示登录官方认证。

有的时候,如果日志里提示需要登录苹果icloud官网的认证的,要记得后缀是.cn,登录到国内的icloud官网授权即可。

(2)能否自动删除icloud照片

目前功能是不支持自动删除照片的,不过可以通过参数实现下载后自动将照片移动到最近删除里,我们可以调整时间,或者手动清空最近删除里的照片。

(3)能否多个icloud同时下载

答案是可以的,在compose里将user替换为user1、user2,然后每一个service重新复制一段一模一样的内容即可。

(4)icloud照片删除后,是否会自动从NAS删除?

启动参数auto_delete=true即可,但是不建议开启。

(5)更多的配置请看md指南。https://github.com/boredazfcuk/docker-icloudpd/blob/master/CONFIGURATION.md


写在最后

比较可惜的是,目前绿联UGOS pro系统还不支持compose的可视化部署,需要我们登陆SSH进行操作,这对NAS用户的linux底层技术有了一点点的小要求,这也是很多人放弃对NAS玩法的进一步探索原因。

作为国产NAS新生代代表,Cherry十分希望绿联私有云可以在docker玩法上做进一步的深化,首先可以将UGOS系统中修改host、镜像库等比较好的功能继承下来,然后不断迭代出compose可视化部署、第三方应用中心、docker源加速等服务,将绿联DXP系列玩出更多的花样。

备份icloud到NAS,支持同步删除,绿联私有云部署icloud照片自动同步工具

欢迎朋友们评论区讨论留言。我会定期更新关注NAS使用方法、开源软件与Docker软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
4评论

  • 精彩
  • 最新
  • 好文,可以自动同步吗

    校验提示文案

    提交
  • 文中进入ssh后登录ssh里有代码错误,不是 sodu -i ,而是sudo -i

    校验提示文案

    提交
  • 不配置TG的情況下怎麼開始同步?
    配置好容器後就不用操作嗎

    校验提示文案

    提交
  • # 创建.mounted文件解锁故障保护功能,必须在iCloud的下载目录下新建一个.mounted文件,注意是文件!!!! 不是文件夹
    touch /volume1/@home/XXX/Photos/icloud/.mounted

    🔻关于上面.mounted比较简单的做法,除了在ssh操作外,还可以在windows下新建一个txt文档,改名为.mounted,然后上传到photos目录下
    這裡的途徑好像不同一層目錄

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
19
扫一下,分享更方便,购买更轻松