Docker安装docker-icloudpd服务,自动同步备份iCloud照片。
介绍
用于 iCloud 照片下载器命令行实用程序的 Alpine Linux 3.19.0 容器
问题
此项目在实际部署过程中发现问题较多,仅做一个参考。
可部署尝试,也可自行看文末项目地址进行研究。
安装教程
docker-compose方式安装
演示以在群晖NAS系统上安装为例
(其他系统请自行安装好最新版本Docker、docker-compose)浏览器打开Apple iCloud官网进行登录一次你的苹果账户
官网地址: https://www.icloud.com.cn/
打开群晖的SSH功能,使用终端软件进行连接,并切换到root状态下。
进入群晖的docker文件夹(你想将容器数据存储到哪就进哪个文件夹)
cd /volume1/docker
创建项目文件夹及子文件夹
# config文件夹是存储项目容器配置数据 # Photos文件夹是存储你的iCloud同步过来的照片和视频 mkdir -p iCloud/{config,Photos}
进入项目文件夹
cd iCloud
创建配置文件夹(可选)
vi config/icloudpd.conf
按Esc键退出编辑模式,输入 :wq 退出并保存。
(目的是创建一个空的配置文件。)创建故障保护验证文件
vi Photos/.mounted
按Esc键退出编辑模式,输入 :wq 退出并保存。
(目的是创建一个空的配置文件,没有这个文件服务不会运行。)为容器创建一个专用网络,避免DNS影响。
docker network create \ --driver=bridge \ --subnet=192.168.115.0/24 \ --gateway=192.168.115.254 \ --opt com.docker.network.bridge.name=icloudpd_br0 \ icloudpd_bridge
编辑docker-compose.yml文件
vi docker-compose.yml
按字母 i 键进入编辑模式,复制并修改下面的配置文件,粘贴到终端,按Esc键退出编辑模式,输入 :wq 退出并保存。
version: "3" services: icloudpd: privileged: true container_name: iCloud hostname: icloudpd_boredazfcuk networks: - icloudpd_bridge restart: always environment: - TZ=CST-8 - icloud_china=flase #如果无法解析到iCloud,就将flase改成True,换成国内的iCloud。 - apple_id=********* #换成你的Apple ID - authentication_type=MFA #已开启双重验证就是MFA,否则换成web。 - download_path=/home/${user}/iCloud volumes: - /volume1/docker/iCloud/config:/config #前面的文件夹路径换成你自己的 - /volume1/docker/iCloud/Photos:/home/${user}/iCloud #前面的文件夹路径换成你自己的 image: boredazfcuk/icloudpd:stable #后面的:stable为可选项,可不加,为了区分镜像版本而已。 networks: icloudpd_bridge: external: true name: icloudpd_bridge volumes: icloudpd_boredazfcuk_config: external: name: icloudpd_boredazfcuk_config
执行命令,启动docker-compose文件,拉取镜像并创建容器。
sudo docker-compose up -d
查看正在运行的项目容器
docker-compose ps
初始化项目容器
进入容器命令交互页面
sudo docker exec -it iCloud /bin/sh
启动脚本,开始配置容器内Apple ID的MFA认证。
/usr/local/bin/sync-icloud.sh --Initialise
等看到下面这行提示时,输入你的Apple ID的密码(输入时不显示),然后按Enter键确认。
然后在看到【y/N】提示时,输入 y 进行确认。然后输入你的苹果手机上的验证码
【第一种验证方式,演示安装版本。】
然后在手机上弹出的Apple ID登录弹窗上点击允许。
或者提示验证超时时,重新输入登录验证码。
根据自己登录时的实际提示进行操作,很简单。
然后看到命令提示停止显示的是倒数第二行的successful,就可以了。【第二种验证方式,网络搜集到的。】
然后它首先会提示使用绑定的手机号收取验证码短信,先选择“0”,然后我们绑定的手机就会收到苹果那边发过来的验证码,我们在后面输入短信验证码并回车,这个时候在我们的苹果手机上会有弹窗验证,我们直接点击“允许”即可。
这时苹果启动双向验证安全机制,会有两个选项:发送短信验证和手机授权验证。我们这个时候就自己随意选择吧。0,短信验证
1,手机授权验证
我这里选择的“ 1 ”,输入手机弹出的6位授权码并回车。然后输入下面的命令退出容器命令交互页面
exit
将项目容器重启一下,让它进行同步。
docker-compose restart
项目地址
GitHub项目地址:https://github.com/boredazfcuk/docker-icloudpd
👇👇👇
- 感谢你赐予我前进的力量