icloud-docker

icloud-docker

Docker环境下的iCloud文件和照片同步工具

iCloud-docker项目提供了一个Docker化的iCloud客户端,用于定期同步iCloud云盘文件和照片。它集成了iCloudPy库,实现了灵活的同步配置,包括间隔设置、文件过滤和相册选择。项目文档包含完整的安装和配置说明,方便用户在本地环境中管理和备份iCloud内容。

iCloudDocker同步云存储客户端Github开源项目

iCloud-docker

CI - Main Tests Coverage Latest Docker Discord GitHub Sponsors <a href="https://www.buymeacoffee.com/mandarons" target="_blank"><img src="https://yellow-cdn.veclightyear.com/ab5030c0/fef44416-e2b2-49a6-b3a8-eda3758c030c.png" alt="Buy Me A Coffee" style="height: 30px !important;width: 150px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a>

🤟 如果您使用了这个项目,请给这个存储库加星。如果它在某种程度上改善了您的生活,请考虑使用"赞助"或"Buy Me a Coffee"按钮捐赠给我的使命。这将帮助我继续支持这个产品。 :pray:

iCloud-docker (以前称为iCloud-drive-docker)是一个在Docker环境中的简单iCloud客户端。它使用iCloudPy Python库与iCloud服务器进行交互。

iCloud-docker的主要用例是使用您的iCloud用户名和密码定期同步所需或全部的iCloud驱动器和照片。

请注意,此应用程序只能下载服务器上的文件,目前还不能上传本地文件到服务器。

安装

使用Docker Hub安装

docker run --name icloud -v ${PWD}/icloud:/icloud -v ${PWD}/config:/config -e ENV_CONFIG_FILE_PATH=/config/config.yaml mandarons/icloud-drive

使用docker-compose安装

services: icloud: image: mandarons/icloud-drive environment: - PUID=<insert the output of `id -u $user`> - PGID=<insert the output of `id -g $user`> env_file: - .env.icloud # Must contain ENV_CONFIG_FILE_PATH=/config/config.yaml and optionally, ENV_ICLOUD_PASSWORD=<password> container_name: icloud restart: unless-stopped volumes: - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro - ${PWD}/icloud:/icloud - ${PWD}/config:/config # Must contain config.yaml

认证(容器创建或身份验证过期后需要)

# 如果未指定ENV_ICLOUD_PASSWORD和/或需要2FA,则手动登录
docker exec -it --user=abc icloud /bin/sh -c "icloud --username=<icloud-username> --session-directory=/config/session_data"

对于中国服务器用户,请添加--region=china如下:

# 如果未指定ENV_ICLOUD_PASSWORD和/或需要2FA,则手登录
docker exec -it --user=abc icloud /bin/sh -c "icloud --username=<icloud-username> --region=china --session-directory=/config/session_data"

按照步骤进行身份验证。

示例配置文件

app: logger: # level - debug, info (default), warning or error level: "info" # log filename icloud.log (default) filename: "/config/icloud.log" credentials: # iCloud drive username username: "please@replace.me" # 重试登录间隔 - 默认为10分钟,指定-1将只重试一次并退出 retry_login_interval: 600 # 驱动器目标 root: "/icloud" discord: # webhook_url: <your server webhook URL here> # username: icloud-docker #or any other name you prefer telegram: # bot_token: <your Telegram bot token> # chat_id: <your Telegram user or chat ID> smtp: ## 如果您想收到关于过期/缺失2FA凭证的电子邮件通知,请取消注释 # email: "user@test.com" ## 可选的,收件地址。默认为发件人电子邮件。 # to: "receiver@test.com" # password: # host: "smtp.test.com" # port: 587 # 如果您的电子邮件提供商不处理TLS # no_tls: true region: global # 对于中国服务器用户,将其设置为 - china (默认: global) drive: destination: "drive" remove_obsolete: false sync_interval: 300 filters: # 可选 - 仅在您想下载特定文件夹时使用。 # 要包含在同步iCloud驱动器内容中的文件过滤器 folders: - "folder1" - "folder2" - "folder3" file_extensions: # 要包含的文件扩展名 - "pdf" - "png" - "jpg" - "jpeg" ignore: # 指定文件夹路径时,在末尾添加/* - "node_modules/*" - "*.md" photos: destination: "photos" remove_obsolete: false sync_interval: 500 all_albums: false # 可选,默认为false。如果为true,保留相册结构。如果同一照片在多个相册中,则在文件系统上创建副本 folder_format: "%Y/%m" # 可选,如果设置,根据格式将照片放在子文件夹中。格式备忘单 - https://strftime.org filters: # 要下载的资料库列表。如果省略(默认),则下载所有资料库(自有和共享)的照片。如果包含,则仅下载列出的资料库的照片。 # libraries: # - PrimarySync # 自有资料库的名称 # 如果all_albums为false - albums列表用作过滤器,如果all_albums为true - albums列表用作过滤器 # 如果 albums 列表为空且 all_albums 为 false,则将所有照片下载到"all"文件夹。如果为空且 all_albums 为 true,则下载所有文件夹 albums: - "album 1" - "album2" file_sizes: # 有效值为original、medium和/或thumb - "original" # - "medium" # - "thumb" extensions# 可选,要包含在同步iCloud照片内容中的媒体扩展名 # - jpg # - heic # - png

注意:每次同步时,此客户端都会遍历所有文件。根据您的iCloud(驱动器+照片)中的文件数量,同步可能需要更长时间。

使用政策

USAGE.md中所述

星星历史

<a href="https://star-history.com/#mandarons/icloud-drive-docker&Timeline"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=mandarons/icloud-drive-docker&type=Timeline&theme=dark" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=mandarons/icloud-drive-docker&type=Timeline" /> <img alt="Star History Chart" src="https://api.star-history.com/svg?repos=mandarons/icloud-drive-docker&type=Timeline" /> </picture> </a>

编辑推荐精选

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

下拉加载更多