icloudpd

icloudpd

Docker 应用程序 from Womabre's Repository

概述

An Alpine Linux Docker container for ndbroadbent's iCloud Photos Downloader. I use it for syncing the photo streams of all the iDevices in my house back to my server because it's the only way of backing up multiple devices to a single location. It uses the system keyring to securely store credentials, has HEIC to JPG conversion capability, and can send Telegram, Prowl, Pushover, WebHook, DingTalk, Discord, openhab, IYUU and WeCom notifications. It is recommended to use the keyring to securely store credentials. Please connect to the container and run `sync-icloud.sh --Initialise` command manually to start the process of saving your password to the keyring and Apple sends a confirmation code via text or 2FA code to your device which needs to be entered into the console. You can also run this command from the Unraid console to start the authentication process. `docker exec -it icloudpd sync-icloud.sh --Initialise` Create a `.mounted` file inside `iCloud` folder in the photos directory for the container to start syncing photos. This file MUST be created manually and sync will not start without it.

运行时参数

网络
bridge
外壳
sh
特权
false

模板配置

Apple IDVariable

Apple ID used to access iCloud.

目标
apple_id
默认值
your@appleid.com
Time ZoneVariable

Sets container timezone. Example: Europe/Amsterdam

目标
TZ
默认值
UTC
Config PathPathrw

Stores configuration, cookies, and keyring.

目标
/config
默认值
/mnt/user/appdata/icloudpd
Download PathPathrw,slave

Where downloaded photos and videos will be stored. A .mounted file must exist inside this folder before syncing will start.

目标
/home/user/iCloud
默认值
/mnt/user/iCloud
Download IntervalVariable

Seconds between downloads. Valid values: 21600 (6h), 43200 (12h), 86400 (24h), 129600 (36h), 172800 (48h), 604800 (7d). Defaults to 86400 if an invalid value is set.

目标
download_interval
默认值
86400
Download DelayVariable

Delay first download in minutes (0-60). Use to stagger multiple containers.

目标
download_delay
默认值
0
Folder StructureVariable

Folder structure for downloaded files. Use 'none' for a flat structure. Default: {:%Y/%m/%d}

目标
folder_structure
默认值
{:%Y/%m/%d}
Albums With DatesVariable

Organize albums into subfolders by date (uses folder_structure). Default: false

目标
albums_with_dates
默认值
false
Libraries With DatesVariable

Organize libraries into subfolders by date (uses folder_structure). Default: false

目标
libraries_with_dates
默认值
false
Authentication TypeVariable

Type of authentication on your iCloud account. Use 'MFA' or 'Web' (if no MFA). Default: MFA

目标
authentication_type
默认值
MFA
Notification DaysVariable

Notify n days before MFA cookie expires. A single notification is sent per day. Default: 7

目标
notification_days
默认值
7
Single PassVariable

Set to true to exit after a single sync instead of looping. If used, set container restart policy to 'no'.

目标
single_pass
默认值
false
Skip CheckVariable

Skip the check for new files. Recommended for libraries with more than a few thousand photos. Default: false

目标
skip_check
默认值
false
Photo SizeVariable

Size to download: original, medium, thumb, adjusted, alternative. Can be comma-separated for multiple sizes. Default: original

目标
photo_size
默认值
original
Skip Live PhotosVariable

Skip downloading Live Photos. Default: false

目标
skip_live_photos
默认值
false
Live Photo SizeVariable

Live photo size: original, medium, or thumb. Ignored if skip_live_photos is true. Default: original

目标
live_photo_size
默认值
original
Skip VideosVariable

Skip downloading videos. Default: false

目标
skip_videos
默认值
false
Recent OnlyVariable

Only download this number of recently added photos. Leave empty to download all.

目标
recent_only
Until FoundVariable

Download recent photos until n previously downloaded consecutive photos are found. Leave empty to download all.

目标
until_found
Photo AlbumVariable

Download only from specific album(s). Comma-separated. Use 'all albums' to download all albums.

目标
photo_album
Skip AlbumVariable

Skip specific albums when using photo_album. Example: All Photos,Videos,Screenshots

目标
skip_album
Photo LibraryVariable

Download only from specific shared library/libraries. Comma-separated. Use 'all libraries' to download all.

目标
photo_library
Skip LibraryVariable

Skip specific libraries when using photo_library. Example: PrimarySync

目标
skip_library
Align RAWVariable

For assets with RAW and JPEG, treat RAW in specified size: original, alternative, or as-is. Default: as-is

目标
align_raw
默认值
as-is
File Match PolicyVariable

Policy to identify and de-duplicate files. Options: name-size-dedup-with-suffix, name-id7. Default: name-size-dedup-with-suffix

目标
file_match_policy
默认值
name-size-dedup-with-suffix
Convert HEIC to JPEGVariable

Convert downloaded HEIC files to JPEG, retaining the original. Default: false

目标
convert_heic_to_jpeg
默认值
false
JPEG QualityVariable

JPEG conversion quality (0-100). Default: 90

目标
jpeg_quality
默认值
90
JPEG PathVariable

Custom path for converted JPEGs. Defaults to download path if not set.

目标
jpeg_path
Auto DeleteVariable

Scan 'Recently Deleted' folder and delete those files locally. Default: false

目标
auto_delete
默认值
false
Delete After DownloadVariable

Move file to Recently Deleted after download. Cannot be combined with auto_delete. Default: false

目标
delete_after_download
默认值
false
Delete Accompanying FilesVariable

Delete generated JPG and MOV files that accompany HEICs (live photo MOVs, converted JPEGs). Default: false

目标
delete_accompanying
默认值
false
Delete Empty DirectoriesVariable

Delete empty directories after sync. Only runs if folder_structure is not 'none'. Default: false

目标
delete_empty_directories
默认值
false
Set Exif DateTimeVariable

Write DateTimeOriginal EXIF tag from file creation date. Warning: alters local file and causes re-download with dedup suffix. Default: false

目标
set_exif_datetime
默认值
false
Keep UnicodeVariable

Keep unicode characters in file names. Set to false to strip non-ASCII chars. Default: false

目标
keep_unicode
默认值
false
Live Photo MOV Filename PolicyVariable

Filename policy for Live Photo MOV files: suffix (adds _HEVC) or original (same name as photo). Default: suffix

目标
live_photo_mov_filename_policy
默认值
suffix
Sideways Copy VideosVariable

Copy or move downloaded videos to a separate directory (video_path). Default: false

目标
sideways_copy_videos
默认值
false
Sideways Copy Videos ModeVariable

How to handle sideways video copy: 'copy' (leave original) or 'move' (requires delete_after_download=true). Default: copy

目标
sideways_copy_videos_mode
默认值
copy
Video PathVariable

Destination directory for sideways video copy/move. Required when sideways_copy_videos is true.

目标
video_path
Nextcloud UploadVariable

Enable upload to Nextcloud after download. Default: false

目标
nextcloud_upload
默认值
false
Nextcloud URLVariable

Nextcloud server URL. Example: https://my.server.local/nextcloud/

目标
nextcloud_url
Nextcloud UsernameVariable

Username of the Nextcloud account to upload to.

目标
nextcloud_username
Nextcloud PasswordVariable

Password for the Nextcloud account.

目标
nextcloud_password
Nextcloud Target DirVariable

Root folder in Nextcloud to place files in. Cannot be the root of the server.

目标
nextcloud_target_dir
Nextcloud DeleteVariable

Delete file from Nextcloud when removed locally. Requires auto_delete=true. Default: false

目标
nextcloud_delete
默认值
false
Notification TypeVariable

Notification provider to use. Options: Prowl, Pushover, Telegram, Webhook, openhab, Dingtalk, Discord, IYUU, WeCom, Gotify, Bark, msmtp, signal. Leave empty to disable.

目标
notification_type
Notification TitleVariable

Title used in notifications. Default: boredazfcuk/iCloudPD

目标
notification_title
默认值
boredazfcuk/iCloudPD
Download NotificationsVariable

Send notifications with a summary after file downloads. Default: true

目标
download_notifications
默认值
true
Delete NotificationsVariable

Send notifications with a summary after file deletions. Default: true

目标
delete_notifications
默认值
true
Startup NotificationVariable

Send a notification when the container starts. Default: true

目标
startup_notification
默认值
true
Silent File NotificationsVariable

Send low-priority (silent) notifications for file downloads and deletions. Default: false

目标
silent_file_notifications
默认值
false
msmtp HostVariable

[msmtp] SMTP server hostname.

目标
msmtp_host
msmtp PortVariable

[msmtp] SMTP server port. Normally 465 or 587. Default: 587

目标
msmtp_port
默认值
587
msmtp UsernameVariable

[msmtp] SMTP login username.

目标
msmtp_user
msmtp PasswordVariable

[msmtp] SMTP login password.

目标
msmtp_pass
msmtp From AddressVariable

[msmtp] Sender email address.

目标
msmtp_from
msmtp TLSVariable

[msmtp] Enable TLS encryption: on or off. Default: on

目标
msmtp_tls
默认值
on
msmtp AuthVariable

[msmtp] Enable SMTP authentication: on or off. Default: on

目标
msmtp_auth
默认值
on
msmtp Extra ArgsVariable

[msmtp] Optional extra arguments for msmtp. Example: --tls-starttls=off

目标
msmtp_args
Gotify Server URLVariable

[Gotify] Server hostname. Example: server.domain.tld (no port, no protocol). Use gotify_https to toggle HTTPS.

目标
gotify_server_url
Gotify App TokenVariable

[Gotify] Application token for Gotify.

目标
gotify_app_token
Gotify HTTPSVariable

[Gotify] Use HTTPS for Gotify server URL. Default: false (HTTP)

目标
gotify_https
默认值
false
Gotify PriorityVariable

[Gotify] Message priority (0-10). Default: 0

目标
gotify_priority
默认值
0
Signal HostVariable

[Signal] Hostname of the bbernhard/signal-cli-rest-api container.

目标
signal_host
Signal PortVariable

[Signal] Port the signal-cli-rest-api container listens on.

目标
signal_port
Signal NumberVariable

[Signal] Phone number of the Signal device to send from.

目标
signal_number
Signal RecipientVariable

[Signal] Recipient phone number for Signal messages.

目标
signal_recipient
Bark URLVariable

[Bark] Full Bark push URL. For the official server use: api.day.app

目标
bark_url
Pushover TokenVariable

[Pushover] Application API token.

目标
pushover_token
Pushover User KeyVariable

[Pushover] Pushover user key.

目标
pushover_user
Pushover PriorityVariable

[Pushover] Priority: -1, 0, 1, or 2. Default: 0

目标
pushover_priority
默认值
0
Pushover RetryVariable

[Pushover] Retry interval in seconds (priority 2 only). Default: 60

目标
pushover_retry
默认值
60
Pushover ExpireVariable

[Pushover] Notification expiration in seconds (priority 2 only). Default: 3600

目标
pushover_expire
默认值
3600
Pushover SoundVariable

[Pushover] Custom notification sound. See https://pushover.net/api#sounds for values.

目标
pushover_sound
Healthchecks URLVariable

[Healthchecks] Full ping URL for Healthchecks.io.

目标
healthchecks_url
Webhook ServerVariable

[Webhook/openhab] Hostname of the webhook server.

目标
webhook_server
Webhook PortVariable

[Webhook/openhab] Port for the webhook server. Default: 8123

目标
webhook_port
默认值
8123
Webhook PathVariable

[Webhook/openhab] Path on the webhook server. Must start and end with /. Default: /api/webhook/

目标
webhook_path
默认值
/api/webhook/
Webhook IDVariable

[Webhook/openhab] Webhook ID. For openhab use 'state'.

目标
webhook_id
Webhook HTTPSVariable

[Webhook/openhab] Use HTTPS. Default: false (HTTP)

目标
webhook_https
默认值
false
Webhook BodyVariable

[Webhook] Body key for the webhook request. HA=data, Discord=content, IFTTT=value1. Default: data

目标
webhook_body
默认值
data
Webhook InsecureVariable

[Webhook] Allow insecure HTTPS certificates (e.g. self-signed). Default: false

目标
webhook_insecure
默认值
false
Telegram TokenVariable

[Telegram] Bot token from BotFather.

目标
telegram_token
Telegram Chat IDVariable

[Telegram] Chat ID for the bot. Prefix with - for group chats.

目标
telegram_chat_id
Telegram PollingVariable

[Telegram] Enable polling to allow remote sync/auth via chat messages. Default: false

目标
telegram_polling
默认值
false
Telegram Silent NotificationsVariable

[Telegram] Send file download notifications silently. Default: false

目标
telegram_silent_file_notifications
默认值
false
Telegram ServerVariable

[Telegram] Proxy server FQDN if Telegram is blocked in your country.

目标
telegram_server
Telegram HTTPVariable

[Telegram] Use HTTP instead of HTTPS if Telegram is restricted to HTTP only. Default: false

目标
telegram_http
默认值
false
Prowl API KeyVariable

[Prowl] API key from the Prowl website.

目标
prowl_api_key
DingTalk TokenVariable

[DingTalk] Access token from DingTalk app Security Settings.

目标
dingtalk_token
Discord IDVariable

[Discord] First part of the Discord webhook URL (numbers only).

目标
discord_id
Discord TokenVariable

[Discord] Second part of the Discord webhook URL.

目标
discord_token
IYUU TokenVariable

[IYUU] Access token for IYUU notifications.

目标
iyuu_token
Initialise KeyringVariable

Run password/keyring setup and create MFA cookie on next start.

目标
initialise
默认值
false
Convert All HEICsVariable

Convert HEICs that do not have a corresponding JPEG.

目标
convert_all_heics
默认值
false
Force Convert All HEICsVariable

Convert all HEICs regardless of existing JPEG presence. 2-minute delay before running.

目标
force_convert_all_heics
默认值
false
Force Convert All HEICs in /mntVariable

Convert all HEICs in /mnt path. 2-minute delay before running.

目标
force_convert_all_mnt_heics
默认值
false
Remove All JPGsVariable

Remove all JPEGs that have a matching HEIC source file.

目标
remove_all_jpgs
默认值
false
Correct JPEG Time StampsVariable

Correct JPEG timestamps to match their accompanying HEIC files.

目标
correct_jpeg_time_stamps
默认值
false
Remove KeyringVariable

Delete stored password and keyring data. Use when changing Apple ID password.

目标
remove_keyring
默认值
false
Enable DebuggingVariable

Enable verbose debug output.

目标
enable_debugging
默认值
false
Disable DebuggingVariable

Disable debug logging.

目标
disable_debugging
默认值
false
Upload Library to NextcloudVariable

Force upload entire local library to Nextcloud.

目标
upload_library_to_nextcloud
默认值
false
Sideways Copy All VideosVariable

Copy or move all videos in download path to video_path.

目标
sideways_copy_all_videos
默认值
false
List AlbumsVariable

List all albums available in the iCloud account.

目标
list_albums
默认值
false
List LibrariesVariable

List all shared libraries available in the iCloud account.

目标
list_libraries
默认值
false
UserVariable

Container user name (e.g. 'nobody'). Also used as the Telegram remote-sync trigger word.

目标
user
默认值
user
User ID (PUID)Variable

User ID to match permissions on host.

目标
user_id
默认值
1000
GroupVariable

Group name for file permissions.

目标
group
默认值
group
Group ID (PGID)Variable

Group ID to match host group.

目标
group_id
默认值
1000
Force GIDVariable

Allow creation of a group with a pre-existing group ID. Use with caution.

目标
force_gid
Directory PermissionsVariable

Permissions to set on directories in the download destination. Default: 750

目标
directory_permissions
默认值
750
File PermissionsVariable

Permissions to set on downloaded files. Default: 640

目标
file_permissions
默认值
640

下载统计数据

3,364,960
下载总数
111,932
本月
78,829
平均每月

长期下载总量

加载图表...

详细信息

存储库
boredazfcuk/icloudpd
最后更新2026-05-04
初见2020-05-14

在Unraid 上运行 Icloudpd 。

Icloudpd 已被列入Unraid OS 的社区应用程序。探索Unraid ,构建灵活的家庭服务器、NAS 或家庭实验室。