icloudpd

icloudpd

Docker-Anwendung from Womabre's Repository

Übersicht

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.

Laufzeit-Argumente

Netzwerk
bridge
Shell
sh
Privilegiert
false

Konfiguration der Vorlage

Apple IDVariable

Apple ID used to access iCloud.

Ziel
apple_id
Standard
your@appleid.com
Time ZoneVariable

Sets container timezone. Example: Europe/Amsterdam

Ziel
TZ
Standard
UTC
Config PathPathrw

Stores configuration, cookies, and keyring.

Ziel
/config
Standard
/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.

Ziel
/home/user/iCloud
Standard
/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.

Ziel
download_interval
Standard
86400
Download DelayVariable

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

Ziel
download_delay
Standard
0
Folder StructureVariable

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

Ziel
folder_structure
Standard
{:%Y/%m/%d}
Albums With DatesVariable

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

Ziel
albums_with_dates
Standard
false
Libraries With DatesVariable

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

Ziel
libraries_with_dates
Standard
false
Authentication TypeVariable

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

Ziel
authentication_type
Standard
MFA
Notification DaysVariable

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

Ziel
notification_days
Standard
7
Single PassVariable

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

Ziel
single_pass
Standard
false
Skip CheckVariable

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

Ziel
skip_check
Standard
false
Photo SizeVariable

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

Ziel
photo_size
Standard
original
Skip Live PhotosVariable

Skip downloading Live Photos. Default: false

Ziel
skip_live_photos
Standard
false
Live Photo SizeVariable

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

Ziel
live_photo_size
Standard
original
Skip VideosVariable

Skip downloading videos. Default: false

Ziel
skip_videos
Standard
false
Recent OnlyVariable

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

Ziel
recent_only
Until FoundVariable

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

Ziel
until_found
Photo AlbumVariable

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

Ziel
photo_album
Skip AlbumVariable

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

Ziel
skip_album
Photo LibraryVariable

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

Ziel
photo_library
Skip LibraryVariable

Skip specific libraries when using photo_library. Example: PrimarySync

Ziel
skip_library
Align RAWVariable

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

Ziel
align_raw
Standard
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

Ziel
file_match_policy
Standard
name-size-dedup-with-suffix
Convert HEIC to JPEGVariable

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

Ziel
convert_heic_to_jpeg
Standard
false
JPEG QualityVariable

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

Ziel
jpeg_quality
Standard
90
JPEG PathVariable

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

Ziel
jpeg_path
Auto DeleteVariable

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

Ziel
auto_delete
Standard
false
Delete After DownloadVariable

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

Ziel
delete_after_download
Standard
false
Delete Accompanying FilesVariable

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

Ziel
delete_accompanying
Standard
false
Delete Empty DirectoriesVariable

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

Ziel
delete_empty_directories
Standard
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

Ziel
set_exif_datetime
Standard
false
Keep UnicodeVariable

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

Ziel
keep_unicode
Standard
false
Live Photo MOV Filename PolicyVariable

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

Ziel
live_photo_mov_filename_policy
Standard
suffix
Sideways Copy VideosVariable

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

Ziel
sideways_copy_videos
Standard
false
Sideways Copy Videos ModeVariable

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

Ziel
sideways_copy_videos_mode
Standard
copy
Video PathVariable

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

Ziel
video_path
Nextcloud UploadVariable

Enable upload to Nextcloud after download. Default: false

Ziel
nextcloud_upload
Standard
false
Nextcloud URLVariable

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

Ziel
nextcloud_url
Nextcloud UsernameVariable

Username of the Nextcloud account to upload to.

Ziel
nextcloud_username
Nextcloud PasswordVariable

Password for the Nextcloud account.

Ziel
nextcloud_password
Nextcloud Target DirVariable

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

Ziel
nextcloud_target_dir
Nextcloud DeleteVariable

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

Ziel
nextcloud_delete
Standard
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.

Ziel
notification_type
Notification TitleVariable

Title used in notifications. Default: boredazfcuk/iCloudPD

Ziel
notification_title
Standard
boredazfcuk/iCloudPD
Download NotificationsVariable

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

Ziel
download_notifications
Standard
true
Delete NotificationsVariable

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

Ziel
delete_notifications
Standard
true
Startup NotificationVariable

Send a notification when the container starts. Default: true

Ziel
startup_notification
Standard
true
Silent File NotificationsVariable

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

Ziel
silent_file_notifications
Standard
false
msmtp HostVariable

[msmtp] SMTP server hostname.

Ziel
msmtp_host
msmtp PortVariable

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

Ziel
msmtp_port
Standard
587
msmtp UsernameVariable

[msmtp] SMTP login username.

Ziel
msmtp_user
msmtp PasswordVariable

[msmtp] SMTP login password.

Ziel
msmtp_pass
msmtp From AddressVariable

[msmtp] Sender email address.

Ziel
msmtp_from
msmtp TLSVariable

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

Ziel
msmtp_tls
Standard
on
msmtp AuthVariable

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

Ziel
msmtp_auth
Standard
on
msmtp Extra ArgsVariable

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

Ziel
msmtp_args
Gotify Server URLVariable

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

Ziel
gotify_server_url
Gotify App TokenVariable

[Gotify] Application token for Gotify.

Ziel
gotify_app_token
Gotify HTTPSVariable

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

Ziel
gotify_https
Standard
false
Gotify PriorityVariable

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

Ziel
gotify_priority
Standard
0
Signal HostVariable

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

Ziel
signal_host
Signal PortVariable

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

Ziel
signal_port
Signal NumberVariable

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

Ziel
signal_number
Signal RecipientVariable

[Signal] Recipient phone number for Signal messages.

Ziel
signal_recipient
Bark URLVariable

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

Ziel
bark_url
Pushover TokenVariable

[Pushover] Application API token.

Ziel
pushover_token
Pushover User KeyVariable

[Pushover] Pushover user key.

Ziel
pushover_user
Pushover PriorityVariable

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

Ziel
pushover_priority
Standard
0
Pushover RetryVariable

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

Ziel
pushover_retry
Standard
60
Pushover ExpireVariable

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

Ziel
pushover_expire
Standard
3600
Pushover SoundVariable

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

Ziel
pushover_sound
Healthchecks URLVariable

[Healthchecks] Full ping URL for Healthchecks.io.

Ziel
healthchecks_url
Webhook ServerVariable

[Webhook/openhab] Hostname of the webhook server.

Ziel
webhook_server
Webhook PortVariable

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

Ziel
webhook_port
Standard
8123
Webhook PathVariable

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

Ziel
webhook_path
Standard
/api/webhook/
Webhook IDVariable

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

Ziel
webhook_id
Webhook HTTPSVariable

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

Ziel
webhook_https
Standard
false
Webhook BodyVariable

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

Ziel
webhook_body
Standard
data
Webhook InsecureVariable

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

Ziel
webhook_insecure
Standard
false
Telegram TokenVariable

[Telegram] Bot token from BotFather.

Ziel
telegram_token
Telegram Chat IDVariable

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

Ziel
telegram_chat_id
Telegram PollingVariable

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

Ziel
telegram_polling
Standard
false
Telegram Silent NotificationsVariable

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

Ziel
telegram_silent_file_notifications
Standard
false
Telegram ServerVariable

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

Ziel
telegram_server
Telegram HTTPVariable

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

Ziel
telegram_http
Standard
false
Prowl API KeyVariable

[Prowl] API key from the Prowl website.

Ziel
prowl_api_key
DingTalk TokenVariable

[DingTalk] Access token from DingTalk app Security Settings.

Ziel
dingtalk_token
Discord IDVariable

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

Ziel
discord_id
Discord TokenVariable

[Discord] Second part of the Discord webhook URL.

Ziel
discord_token
IYUU TokenVariable

[IYUU] Access token for IYUU notifications.

Ziel
iyuu_token
Initialise KeyringVariable

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

Ziel
initialise
Standard
false
Convert All HEICsVariable

Convert HEICs that do not have a corresponding JPEG.

Ziel
convert_all_heics
Standard
false
Force Convert All HEICsVariable

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

Ziel
force_convert_all_heics
Standard
false
Force Convert All HEICs in /mntVariable

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

Ziel
force_convert_all_mnt_heics
Standard
false
Remove All JPGsVariable

Remove all JPEGs that have a matching HEIC source file.

Ziel
remove_all_jpgs
Standard
false
Correct JPEG Time StampsVariable

Correct JPEG timestamps to match their accompanying HEIC files.

Ziel
correct_jpeg_time_stamps
Standard
false
Remove KeyringVariable

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

Ziel
remove_keyring
Standard
false
Enable DebuggingVariable

Enable verbose debug output.

Ziel
enable_debugging
Standard
false
Disable DebuggingVariable

Disable debug logging.

Ziel
disable_debugging
Standard
false
Upload Library to NextcloudVariable

Force upload entire local library to Nextcloud.

Ziel
upload_library_to_nextcloud
Standard
false
Sideways Copy All VideosVariable

Copy or move all videos in download path to video_path.

Ziel
sideways_copy_all_videos
Standard
false
List AlbumsVariable

List all albums available in the iCloud account.

Ziel
list_albums
Standard
false
List LibrariesVariable

List all shared libraries available in the iCloud account.

Ziel
list_libraries
Standard
false
UserVariable

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

Ziel
user
Standard
user
User ID (PUID)Variable

User ID to match permissions on host.

Ziel
user_id
Standard
1000
GroupVariable

Group name for file permissions.

Ziel
group
Standard
group
Group ID (PGID)Variable

Group ID to match host group.

Ziel
group_id
Standard
1000
Force GIDVariable

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

Ziel
force_gid
Directory PermissionsVariable

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

Ziel
directory_permissions
Standard
750
File PermissionsVariable

Permissions to set on downloaded files. Default: 640

Ziel
file_permissions
Standard
640

Statistik herunterladen

3,364,960
Downloads insgesamt
111,932
Dieser Monat
78,829
Durchschnittlich / Monat

Gesamte Downloads im Laufe der Zeit

Tabelle laden...

Einzelheiten

Repository
boredazfcuk/icloudpd
Zuletzt aktualisiert2026-05-04
Erstmals gesehen2020-05-14

Führen Sie Icloudpd auf Unraid aus.

Icloudpd ist gelistet in Community Apps für Unraid OS. Erkunden Sie Unraid, um einen flexiblen Heimserver, ein NAS oder ein Heimlabor aufzubauen.