docker-icloudpd 入门:10分钟把iCloud相册搬回自家服务器

发布时间:2026/8/20 19:09:31

docker-icloudpd 入门:10分钟把iCloud相册搬回自家服务器
docker-icloudpd 入门10分钟把iCloud相册搬回自家服务器【免费下载链接】docker-icloudpdAn Alpine Linux container for the iCloud Photos Downloader command line utility项目地址: https://gitcode.com/GitHub_Trending/do/docker-icloudpd上个月帮朋友搬家他指着书柜里三块泛黄的移动硬盘苦笑这已经是 iCloud 挤爆之后抢救出来的第二次了。旁边的 NAS 上Docker 已经跑了两年却愣是没人想起来相册这种最私人、最占空间的资料为什么不能也交给它其实早就有方案了。docker-icloudpd是一个基于 Alpine Linux 的轻量级容器内置了 iCloud Photos Downloader 命令行工具专门负责把 iCloud 照片自动拉回你控制的服务器。它不提供网页界面、不搞花哨功能只干一件事——同步而且干得相当稳。它凭什么比 iCloud 官方方案值钱先建立一个心智模型这个容器做的事本质上和你在浏览器里登录 iCloud.com 手动下载照片一模一样只是把它自动化了。苹果没有开放官方 API所以它是模拟网页登录流程借助系统密钥环保存凭证、用 Cookie 维持会话然后按你设定的间隔反复拉取增量。三个细节让它在同类方案里很能打凭证安全密码写进密钥环登录会话存为 Cookie容器重建后不会丢格式兜底HEIC 自动转 JPG还支持把 Live Photo 的配套视频一并拉下来Windows 和旧设备都能直接看防呆设计它会在下载目录里找.mounted这个标记文件找不到就拒绝写入——防止存储卷没挂好时把系统盘写爆。一句话总结它的价值每月付给苹果的存储费变成一次性的硬盘钱照片从第三方云端回到你自己能断电、能备份、能随时迁移的家里。三条命令完成部署先把项目仓库拉到本地仓库里带了现成的 compose 示例和全部脚本git clone https://link.gitcode.com/i/18be402c334948cca38a15b8dafccb71 cd docker-icloudpd然后创建目录结构并放上防呆标记mkdir -p ~/iCloud touch ~/iCloud/.mounted上面这条touch千万别省容器会严格检查.mounted是否存在没有它同步永远不会启动。接着参考仓库里的docker-compose/docker-compose.example.yml写你自己的docker-compose.yml。核心部分长这样services: icloud_sync: image: boredazfcuk/icloudpd container_name: icloud_photos_sync restart: always environment: - TZAsia/Shanghai # 时区影响照片时间戳计算 - useryourname # 容器内用户名建议和宿主机一致 volumes: - icloud_config:/config # 配置和Cookie存这里必须用命名卷 - /home/yourname/iCloud:/home/yourname/iCloud healthcheck: test: /usr/local/bin/healthcheck.sh start_period: 30s volumes: icloud_config:这段配置只做两件事把配置目录和照片目录分别映射进容器。/config是命脉Cookie 和配置文件都在里面容器重建后全指着它。启动后记得查看容器日志第一次启动会自动生成默认配置文件/config/icloudpd.confdocker compose up -d docker logs -f icloud_photos_sync最难的一步账户认证一次说透容器起来 ≠ 能同步。你还得完成 iCloud 登录这是整个项目里最容易卡住的地方。执行docker exec -it icloud_photos_sync sync-icloud.sh --Initialise脚本会依次要你做三件事输入 Apple ID 和密码密码存入系统密钥环如果账号开了双重认证MFA你的 iPhone 上会弹出允许/拒绝提示输入设备上显示的 6 位验证码脚本用它生成 Cookie 存进/config。这个 Cookie 现在每 30 天左右就会过期苹果从 90 天缩到了 30 天届时容器会把自己标记为unhealthy。续命很简单一条命令docker exec -it icloud_photos_sync reauth.sh输入设备上的新验证码会话就续上了。如果你手机不在身边也没关系——配了 Telegram 通知后给机器人发一条你的用户名 auth它会在聊天里反过来找你要验证码远程完成重新认证。想手动触发一次同步直接发你的用户名就行容器每 60 秒轮询一次。三个新手必翻车的坑坑一忘关 Apple 高级数据保护ADP。这个项目明确不支持 ADP它会让照片在苹果服务器端加密、禁止网页访问容器直接没法读取。去 iCloud 设置里关掉它再同步。坑二同步间隔设太短。download_interval虽然支持 6 小时但苹果对频繁请求会限流报ACCESS_DENIED后只能关容器等半天。老实设 86400一天一次最稳妥手机端本来就是即时上传的。坑三大相册卡死在检查新文件。几万张照片时每次都全量比对很容易超时。在配置文件里把skip_checktrue打开直接进入增量下载流程。再往前走一步全家人的相册都归你管跑通单账号之后这套东西的价值会随账号数量翻倍。参照示例 compose复制一个服务块、改掉user、挂一个新的/config卷就是第二个独立同步实例——父母一台、孩子一台互不干扰。值得重点配置的几项配置项作用建议folder_structure目录结构{:%Y/%m/%d}按年月日归档convert_heic_to_jpegHEIC 转 JPGtrue保留原文件同时生成 JPGphoto_album只同步指定相簿设为all albums全量同步notification_type通知渠道Telegram / DingTalk / WeCom 等十余种single_pass单次执行后退出的模式true后配合宿主机 cron 调度如果你家里跑着 Nextcloud还能把容器变成中转站nextcloud_uploadtrue配上服务器地址和账号每张下载的照片会自动再传到 Nextcloud顺便还能把 JPG 转换产物一起送上去等于多了一层带版本的备份。常见问题速答Q我的账号是国区 iCloud能同步吗能。配置里把icloud_chinatrue和auth_chinatrue都打开容器会改用 icloud.com.cn 登录和下载。Q同步过去的照片还能再回到 iPhone 吗不能这是单向同步。它从 iCloud 拉取到本地不会把本地照片推回 iCloud。反向需求请交给 iCloud 官方的下载并保留原图。Q容器老被标成 unhealthy是坏了吗多半是 Cookie 到期或某次下载失败。healthcheck.sh会检查下载退出码和 Cookie 剩余天数配合 autoheal 这类容器可以自动重启但建议先手动reauth.sh续一次会话再观察。Q会占用多少资源Alpine 基底非常轻日常空闲时内存占用通常在 100MB 以内只在同步时段有 CPU 和网络开销。一台树莓派级别的设备就能常年挂着跑。照片这东西存到第三方便宜一时存到自己手里才踏实。花一个下午把docker-icloudpd跑起来之后每个月省下的那点订阅费够你给硬盘加块保护套了。现在就打开终端从git clone开始吧。资源链接项目仓库docker-icloudpdgit clone用完整配置说明CONFIGURATION.md同步脚本源码sync-icloud.sh健康检查脚本healthcheck.sh重新认证脚本reauth.sh镜像构建文件icloudpd.dockerfileCompose 参考docker-compose.example.yml【免费下载链接】docker-icloudpdAn Alpine Linux container for the iCloud Photos Downloader command line utility项目地址: https://gitcode.com/GitHub_Trending/do/docker-icloudpd创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

CANoe_UDS-Bootloader刷写系列-含源码(五)CAPL实现$31服务例程控制

CANoe_UDS-Bootloader刷写系列-含源码(五)CAPL实现$31服务例程控制

2026/8/20 19:09:31

学习是个漫长且痛苦的过程,道路艰辛而曲折,希望我们都在时代的长河中做一颗闪闪发光的尘埃。只有持之以恒才能有所成就 目录 前言 目录 目录 系列目录: 一,RoutineControl(例程控制)(0x31服…

3 分钟装好一套会养成、能专注的桌面宠物:DyberPet 完整上手指南

3 分钟装好一套会养成、能专注的桌面宠物:DyberPet 完整上手指南

2026/8/20 18:59:31

3 分钟装好一套会养成、能专注的桌面宠物:DyberPet 完整上手指南 【免费下载链接】DyberPet Desktop Cyber Pet Framework based on PySide6 项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet 每天对着屏幕工作八小时以上的人,大概都经…

数据处理故障复盘应留下什么

数据处理故障复盘应留下什么

2026/8/20 18:59:31

数据处理故障复盘应留下什么 这篇要解决什么 数据处理故障复盘应留下什么讨论的是一个可复查的工程问题。数据处理故障复盘应留下什么不拿未经记录的事故、跑分或成本当作论据;判断需要回到当前项目的输入、版本和运行条件。 从边界开始 处理数据处理故障复盘应留下…

klog JSON 接口教程:把时间追踪数据接入脚本自动化的完整指南

klog JSON 接口教程:把时间追踪数据接入脚本自动化的完整指南

2026/8/20 19:59:33

klog JSON 接口教程:把时间追踪数据接入脚本自动化的完整指南 【免费下载链接】klog Command-line tool for time tracking in a human-readable, plain-text file format. 项目地址: https://gitcode.com/gh_mirrors/klog/klog klog 是一款基于纯文本文件的…

Qwen3.8-9B 函数调用实战教程:三步让模型自动使用外部工具

Qwen3.8-9B 函数调用实战教程:三步让模型自动使用外部工具

2026/8/20 19:59:33

Qwen3.8-9B 函数调用实战教程:三步让模型自动使用外部工具 【免费下载链接】Qwen3.8-9B 项目地址: https://ai.gitcode.com/hf_mirrors/empero-ai/Qwen3.8-9B Qwen3.8-9B 函数调用(Function Calling)能力,能让 90 亿参数的…

一篇文章讲透结构化提示词:用 LangGPT 从 0 到 1 写出专业级提示词

一篇文章讲透结构化提示词:用 LangGPT 从 0 到 1 写出专业级提示词

2026/8/20 19:59:33

一篇文章讲透结构化提示词:用 LangGPT 从 0 到 1 写出专业级提示词 【免费下载链接】LangGPT LangGPT: Empowering everyone to become a prompt expert! 🚀 📌 结构化提示词(Structured Prompt)提出者 📌 …

Typeplate响应式标题排版:Media Query动态字阶调整技巧

Typeplate响应式标题排版:Media Query动态字阶调整技巧

2026/8/20 19:59:33

Typeplate响应式标题排版:Media Query动态字阶调整技巧 【免费下载链接】starter-kit Typeplate is a “Typographic Starter Kit.” We don’t make aesthetic design choices, but define proper markup with extensible styling for common typographic patterns…

TabSTAR源码深度导读:从forward()到argmax的完整推理链路

TabSTAR源码深度导读:从forward()到argmax的完整推理链路

2026/8/20 19:59:33

TabSTAR源码深度导读:从forward()到argmax的完整推理链路 【免费下载链接】tabstar-npu 项目地址: https://ai.gitcode.com/atlasleong/tabstar-npu 核心关键词:TabSTAR源码、表格基础模型、昇腾NPU推理、forward()源码、argmax推理链路 一句话…

vue-star-rating 发光与动画效果:4 个技巧让评分交互更出彩

vue-star-rating 发光与动画效果:4 个技巧让评分交互更出彩

2026/8/20 19:49:33

vue-star-rating 发光与动画效果:4 个技巧让评分交互更出彩 【免费下载链接】vue-star-rating :star: A simple, highly customisable star rating component for Vue 2.x. / 3.x 项目地址: https://gitcode.com/gh_mirrors/vu/vue-star-rating vue-star-rat…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/19 9:17:18

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换

2026/8/20 0:08:45

微信聊天记录如何完整导出?WeChatMsg备份指南:HTML/Word/CSV一键转换 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com…

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒

2026/8/20 0:08:45

B站缓存m4s打不开?m4s-converter无损合成MP4,实测1.46GB仅5秒 【免费下载链接】m4s-converter 一个跨平台小工具,将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 判断你是否…

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印

2026/8/20 0:08:45

告别白模时代:Blender3mfFormat 让 3MF 导入导出一次跑通设计到打印 【免费下载链接】Blender3mfFormat Blender add-on to import/export 3MF files 项目地址: https://gitcode.com/gh_mirrors/bl/Blender3mfFormat 按 3MF 官方规范的字面意思,一…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…