Proton Drive
The Proton Drive integration backs up Proton Drive folders into a Kloset store, restores snapshots to Proton Drive, and hosts Kloset stores in Proton Drive. It is provided by the Rclone package and reaches Proton Drive through Rclone, a command-line program that manages files on cloud storage and supports Proton Drive as one of its backends.
The integration includes three connectors:
| Connector type | Description |
|---|---|
| Source connector | Back up a Rclone remote into a Kloset store. |
| Destination connector | Restore data from a Kloset store into a Rclone remote. |
| Store connector | Host a Kloset store inside a Rclone remote. |
Requirements
- Rclone installed, with at least one Proton Drive remote configured.
Typical use cases
- Cold backup of Proton Drive folders.
- Long-term archiving and disaster recovery.
- Portable export and vendor escape to other platforms.
Installation
The Proton Drive integration is provided by 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 rcloneVerify installation:
$ plakar pkg showSource 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 rcloneA package archive will be created in the current directory (e.g.,
rclone_v1.0.0_darwin_arm64.ptar).
Install the package:
$ plakar pkg add -allow-unsigned ./rclone_v1.0.0_darwin_arm64.ptarVerify installation:
$ plakar pkg showTo list, upgrade, or remove the package, see managing packages guide.
Configuring a Proton Drive remote
The connectors reach Proton Drive through a Rclone remote. The remote is created with Rclone and then imported into Plakar as a source, destination or store configuration.
Install Rclone by following the instructions at https://rclone.org/install/, then start the interactive configuration:
$ rclone configThe command prompts for the settings of a new Proton Drive remote. For Rclone v1.72.1, the configuration flow is as follows:
- Choose
nto create a new remote. - Name the remote (e.g.,
mydrive). - Enter your credentials.
- Validate the remote configuration.
Verify that the remote is configured:
$ rclone config show mydriveVerify access to your Proton Drive files:
$ rclone ls mydrive:The output lists the files and folders in your Proton Drive.
Configuration
Each connector is configured by importing the Rclone remote with
rclone config show | plakar <source|destination|store> import -rclone <remote>.
The imported configuration takes the name of the remote, so a remote named
mydrive is referenced as @mydrive. The connectors can be combined with any
other Plakar connector.
Backup flow
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
Restore flow
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
Store flow
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
Source configuration
The source connector has no options beyond the imported Rclone remote.
Destination configuration
Restoring to Proton Drive
See Limitations and scope for important information about restoring to Proton Drive.
The destination connector has no options beyond the imported Rclone remote.
Store configuration
Hosting Kloset Stores on Proton Drive
See Limitations and scope for important information about hosting Kloset stores on Proton Drive.
The following option can be set on the store connector with plakar store add
or plakar store set.
| Option | Required | Description |
|---|---|---|
passphrase |
No | The Kloset store passphrase. |
Example
Back up the remote:
# 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"Restore a snapshot to the remote:
# 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>Host a Kloset store in the remote:
# 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"Limitations and scope
The Proton Drive API applies rate limits, and heavy usage may require throttling. At the time of writing, Proton Drive support is in beta in Rclone and write operations are not supported. Backing up from Proton Drive works, but restoring to it or hosting Kloset stores on it is not possible until the issue is resolved.