Install and Run

There are three ways to run icloudpd:

  1. Download executable for your platform from the GitHub Release and run it

  2. Use package manager to install, update, and, in some cases, run (Docker, PyPI, AUR, npm)

  3. Build and run from the source

Docker

docker run -it --rm --name icloudpd -v $(pwd)/Photos:/data -e TZ=America/Los_Angeles icloudpd/icloudpd:latest icloudpd --directory /data --username my@email.address --watch-with-interval 3600

Image asset date will be converted to specified TZ and then used for creating folders (see --folder-stucture parameter)

Synchronization logic can be adjusted with command-line parameters. Run the following to get full list:

docker run -it --rm icloudpd/icloudpd:latest icloudpd --help

Note

On Windows:

  • use %cd% instead of $(pwd)

  • or full path, e.g. -v c:/photos/icloud:/data

  • only Linux containers are supported

Note

Getting Docker:

  • On Windows and Mac Docker is available as Docker Desktop app.

  • On Linux, Docker engine and client can be installed using platform package managers, e.g. Installing on Ubuntu

  • Appliance (e.g. NAS) will have their own way to install Docker engines and running containers - see manufacturer’s instructions.

PyPI

Install:

pip install icloudpd

Run:

icloudpd --directory /data --username my@email.address --watch-with-interval 3600

Note

on Windows:

pip install icloudpd --user

Plus add C:\Users\<YourUserAccountHere>\AppData\Roaming\Python\Python<YourPythonVersionHere>\Scripts to PATH. The exact path will be given at the end of icloudpd installation.

Note

on MacOS:

Add /Users/<YourUserAccountHere>/Library/Python/<YourPythonVersionHere>/bin to PATH. The exact path will be given at the end of icloudpd installation.

AUR

AUR packages can be installed on Arch Linux. Installation can be done manually or with the use of an AUR helper.

The manual process would look like this:

git clone https://aur.archlinux.org/icloudpd-bin.git
cd icloudpd-bin
makepkg -sirc

With the use of the AUR helper e.g. yay the installation process would look like this:

yay -S icloudpd-bin

npm

npx --yes icloudpd --directory /data --username my@email.address --watch-with-interval 3600