---
title: "Use rclone with Tarkle"
description: "Beta: copy, sync and check files between a computer or server and Tarkle with rclone and one Tarkle API key."
---

> Documentation Index
> Fetch the complete documentation index at: https://tarkle.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Use rclone with Tarkle

rclone is a command-line tool that copies and syncs files between your computer or server and many storage services. The Tarkle backend lets rclone use Tarkle as one of those places. Read this page for what it does and what you need, then follow the three steps.

> **Beta.** The native Tarkle backend for rclone (storage type `tarkle`) is not in any official rclone release, and a normal rclone install does not offer Tarkle as a storage type. Today it works only with a build of rclone from Tarkle's fork, `https://github.com/tarkleHQ/rclone`, branch `tarkle-backend`. Tarkle has proposed the backend to rclone in [pull request #10250](https://github.com/rclone/rclone/pull/10250), which is pending review by rclone's maintainers. This path is for people who are comfortable with Go and a terminal, and details can still change.

## What it is good for

- Keeping a copy of a folder from a server or computer in Tarkle, for example a regular backup of a project folder.
- Syncing a folder from a server into a Tarkle folder, so the Tarkle copy follows the source.
- Bulk upload of many files, or of large files, from one command.
- Migrating files you already keep on a server or computer into a workspace.

Files you delete through rclone go to the Tarkle bin.

## How it works

The backend talks to the Tarkle files API with your API key, and it names the workspace on every call with the workspace key. Large files are uploaded in parts straight to Tarkle's storage through signed links, so the file data does not pass through the API host. Tarkle keeps the modification time and the SHA-256 hash of each file, so a normal `rclone sync` and `rclone check` work without `--size-only`.

## What you need

- **An API key.** An owner or admin of your organization creates it in Settings > API with Create. Give it a Name and choose Access: All workspaces or Only selected workspaces. The key can do everything the API can do in the workspaces it reaches, except purchases, and it acts as the person who created it. A member who needs a key asks an owner or admin. A key marked Legacy keeps its old, limited permissions, so create a new key instead. See [Authentication](/docs/get-started/authentication) and [API keys](/docs/get-started/api-keys).
- **The workspace key.** It is the 8-character key of the workspace rclone should use, as listed by `GET /workspaces` in the [API](/docs/api/workspaces). An API key can reach more than one workspace, so rclone asks for this key. If you leave it blank, rclone lists the workspace keys and names to choose from.
- **A build of rclone from the fork.** You build it with Go from Tarkle's fork, as described in the beta note.

## Three steps

1. **Build.** Clone Tarkle's fork, switch to `tarkle-backend` and build the `rclone` binary. Follow [Build rclone from source](/docs/rclone/install).
2. **Configure.** Run `rclone config`, choose the storage type `tarkle`, and enter your API key as `token` and the workspace key as `workspace`. Follow [Set up the remote](/docs/rclone/configure).
3. **Run.** List the top of your library with `rclone lsf remote:`, then copy a folder with a command such as the one below. Limits and error codes are on [Limits and errors](/docs/rclone/limits).

```bash
rclone copy ./photos remote:photos
```

## Use the API instead

If you want to script the same files directly, use the [API reference](/docs/api). It uses the same API key, and the workspace key goes in the `X-Workspace-Key` header.

## Get help

Ask questions in the [Tarkle Slack community](https://tarkle.com/join-slack). Because the backend is beta, include the rclone command you ran and the error text, and leave your API key out.

Source: https://tarkle.com/docs/rclone/index.mdx
