Project Icon

icloud-docker

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

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

iCloud-docker

CI - Main Tests Coverage Latest Docker Discord GitHub Sponsors Buy Me A Coffee

🤟 如果您使用了这个项目,请给这个存储库加星。如果它在某种程度上改善了您的生活,请考虑使用"赞助"或"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中所述

星星历史

Star History Chart
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号