iCloud Drive

#

The Plakar iCloud Drive integration allows you to interact with iCloud Drive, Apple’s cloud storage service, using Rclone.

Rclone is a command-line program to manage files on cloud storage, and supports iCloud Drive as one of its many backends.

The Rclone integration package for Plakar provides three connectors:

Connector type Description
Storage connector Host a Kloset store inside a Rclone remote.
Source connector Back up a Rclone remote into a Kloset store.
Destination connector Restore data from a Kloset store into a Rclone remote.

Requirements

  • Rclone must be installed, and at least one iCloud Drive remote must be configured.

Typical use cases

  • Cold backup of iCloud Drive folders
  • Long-term archiving and disaster recovery
  • Portable export and vendor escape to other platforms

Installation

#

To interact with iCloud Drive, you need to install the Rclone Plakar package.

Pre-compiled packages are available for common platforms and provide the simplest installation method.

Logging In

Pre-built packages require Plakar authentication. See Logging in to Plakar for details.

Install the Rclone package:

$ plakar pkg add rclone

Verify installation:

$ plakar pkg list

Source builds are useful when pre-built packages are unavailable or when customization is required.

Prerequisites:

  • Go toolchain compatible with your Plakar version

Build the package:

$ plakar pkg build rclone

A package archive will be created in the current directory (e.g., rclone_v1.0.0_darwin_arm64.ptar).

Install the package:

$ plakar pkg add ./rclone_v1.0.0_darwin_arm64.ptar

Verify installation:

$ plakar pkg list

To list, upgrade, or remove the package, see managing packages guide.

Generate Rclone configuration

#
iCloud Drive login

Due to current limitations in Rclone, logging in to iCloud Drive is not possible at the time of writing. The steps below are provided for reference and future compatibility.

Install Rclone on your system by following the instructions at https://rclone.org/install/.

Then, run the following command to configure Rclone with iCloud Drive:

$ rclone config

You will be guided through a series of prompts to set up a new remote for iCloud Drive.

For Rclone v1.72.1, the configuration flow is as follows:

  1. Choose n to create a new remote.
  2. Name the remote (e.g., mydrive).
  3. Enter the number corresponding to “iCloud Drive” from the list of supported storage providers.
  4. Enter your Apple ID
  5. Enter your password
  6. Validate the remote configuration.

To verify that the remote is configured, run:

$ rclone config show mydrive

To verify that you have access to your iCloud Drive files, run:

$ rclone ls mydrive:

The output should list the files and folders in your iCloud Drive.

Connectors

#

The Rclone package provides storage, source, and destination connectors to interact with iCloud Drive via Rclone.

You can use any combination of these connectors together with other supported Plakar connectors.

Storage connector

#

The Plakar Rclone package provides a storage connector to host Kloset stores on Rclone remotes.

flowchart LR

Source["Source data"]

Plakar["Plakar"]

Via["Store snapshot via
Rclone storage connector"] subgraph Store["Rclone Remote"] Kloset["Kloset Store"] end Source --> Plakar --> Via --> Kloset

Configure

#
# Import the rclone configuration as a storage configuration.
# Replace "mydrive" with your Rclone remote name.
$ rclone config show | plakar store import -rclone mydrive

# Initialize the Kloset store
$ plakar at "@mydrive" create

# List snapshots in the Kloset store
$ plakar at "@mydrive" ls

# Verify integrity of the Kloset store
$ plakar at "@mydrive" check

# Back up a local folder to the Kloset store
$ plakar at "@mydrive" backup /etc

# Back up a source configured in Plakar to the Kloset store
$ plakar at "@mydrive" backup "@my_source"

Options

#

These options can be set when configuring the storage connector with plakar store add or plakar store set:

Option Purpose
passphrase The Kloset store passphrase

Source connector

#

The Plakar Rclone package provides a source connector to back up remote directories accessible via Rclone.

flowchart LR

subgraph Source["Rclone Remote"]
  FS["Data"]
end

Plakar["Plakar"]

Via["Retrieve data via
Rclone source connector"] Store["Kloset Store"] FS --> Via --> Plakar --> Store

Configure

#
# Import the rclone configuration as a source configuration.
# Replace "mydrive" with your Rclone remote name.
$ rclone config show | plakar source import -rclone mydrive

# Back up the remote directory to the Kloset store on the filesystem
$ plakar at /var/backups backup "@mydrive"

# Or back up the remote directory to a Kloset store configured with "plakar store add"
$ plakar at "@store" backup "@mydrive"

Options

#

The Rclone source connector doesn’t support any specific options.

Destination connector

#

The Rclone package provides a destination connector to restore snapshots to remote directories reachable over Rclone.

flowchart LR

Store["Kloset Store"]

Plakar["Plakar"]

Via["Push data via
Rclone destination connector"] subgraph Destination["Rclone Remote"] FS["Data"] end Store --> Plakar --> Via --> FS

Configure

#
# Import the rclone configuration as a destination configuration.
# Replace "mydrive" with your Rclone remote name.
$ rclone config show | plakar destination import -rclone mydrive

# Restore a snapshot from a filesystem-hosted Kloset store to the Rclone remote
$ plakar at /var/backups restore -to "@mydrive" <snapshot_id>

# Or restore a snapshot from the Kloset store configured with "plakar store add store …"
$ plakar at "@store" restore -to "@mydrive" <snapshot_id>

Options

#

The Rclone destination connector doesn’t support any specific options.

Limitations and considerations

#

At the time of writing and according to this GitHub issue, it is currently impossible to log in to iCloud Drive using Rclone.

See also

#