Skip to content

Connect rclone in one command

Use SteadyLink as S3-compatible storage for rclone. Install it, connect with an app key, mount buckets as a drive, or back up a folder on a schedule.

On this page

This guide is for anyone who wants SteadyLink buckets on their own computer or server: synced folders, a mounted drive, or a nightly backup. One command installs rclone, adds a remote called steadylink, and checks that your key works.

The scripts are open source in SteadyLink-io/rclone-setup. The files served from steadylink.io/install are copies of the ones in that repository, so you can read exactly what runs.

Before you start#

You need an app key: an access key ID that starts with SL and its secret. The secret is shown once, when the key is created. See App keys for how to create one, and make it read-only or limited to one bucket if that is all the computer needs.

Run the setup#

Terminal
curl -fsSL https://steadylink.io/install/rclone.sh | sh

To skip the key prompts, put the key in front of sh:

Terminal
curl -fsSL https://steadylink.io/install/rclone.sh | STEADYLINK_ACCESS_KEY_ID=SLXXXXXXXXXXXXXXXXXX STEADYLINK_SECRET_ACCESS_KEY=YOUR_SECRET sh

A key typed into a one-line command is saved in your shell history. Running the command without the key and typing the secret at the prompt, where it is hidden, avoids that.

What the script does#

  1. Installs rclone

    If rclone 1.65 or newer is not installed, the script installs it: with winget on Windows, Homebrew on macOS when you have it, and rclone's official installer otherwise. On Linux it uses sudo only when you are not root. Fallback downloads come from downloads.rclone.org and are checked against the published SHA-256 sums.

  2. Creates the remote

    It runs rclone config create steadylink s3 with the endpoint https://api.steadylink.io/s3, region auto, and path-style addressing. If a remote called steadylink already exists, it asks before replacing it. The secret is stored in rclone's config file and never printed.

  3. Checks the key

    It runs rclone lsd steadylink: and lists the buckets the key can see. If the key is rejected, it explains the error in plain words. See Troubleshooting.

  4. Offers a drive and a backup

    In an interactive terminal it asks whether to mount SteadyLink and whether to schedule a backup. Both default to no.

Running the script again is safe. It updates the remote, mount, or backup it created before instead of adding another.

Options#

VariableDefaultMeaning
STEADYLINK_ACCESS_KEY_IDApp key ID
STEADYLINK_SECRET_ACCESS_KEYApp key secret
STEADYLINK_ENDPOINThttps://api.steadylink.io/s3S3 endpoint
STEADYLINK_REMOTEsteadylinkName of the rclone remote
STEADYLINK_NONINTERACTIVE1 creates the remote and stops, with no prompts

Use the remote#

Terminal
rclone lsd steadylink:                                       # list buckets
rclone copy ~/Pictures steadylink:my-bucket/pictures --progress
rclone sync ~/Documents steadylink:my-bucket/documents
rclone check ~/Documents steadylink:my-bucket/documents

Uploading a file that already exists adds a revision behind the same stable link, so published links keep serving the latest version. rclone keeps modification times in object metadata, so sync and check skip files that have not changed.

Mount as a drive#

When you answer yes to the mount question:

  • Windows mounts on the first free letter from S:, using rclone mount --vfs-cache-mode full --network-mode. It needs WinFsp, which the script offers to install with winget. A Task Scheduler entry, SteadyLink Mount, mounts it again at each sign-in.
  • macOS mounts at ~/SteadyLink. Without macFUSE or FUSE-T it uses rclone nfsmount, which needs nothing extra. A launchd agent, io.steadylink.mount, starts it at login.
  • Linux mounts at ~/SteadyLink through a systemd user service, steadylink-mount.service. It needs the fuse3 package.

The local cache lets programs open and edit files as they would on a normal disk. Changes upload a few seconds after a file is closed.

Schedule a backup#

When you answer yes to the backup question, the script asks for a local folder, a bucket, a folder inside the bucket, a mode, and an hour (or hourly).

  • copy uploads new and changed files and never deletes anything in SteadyLink. It is the default.
  • sync makes the bucket folder match the local one. Files deleted locally are moved to <bucket>/.deleted/<folder> instead of being removed.

The job runs with Task Scheduler on Windows, launchd on macOS, and a systemd user timer on Linux, and each run is logged to a file. The repository README lists the exact names and log paths.

Uninstall#

Terminal
curl -fsSL https://steadylink.io/install/rclone.sh | sh -s -- --uninstall

This removes the mount and backup jobs. It asks before removing the steadylink remote or rclone itself, and never deletes files in SteadyLink or on your computer.

Troubleshooting#

ErrorWhat it means
InvalidAccessKeyIdSteadyLink does not know the key ID. Check it was copied in full and has not been revoked.
SignatureDoesNotMatchThe key ID is right but the secret is not. Copy it again, or create a new key if it is lost.
AccessDeniedThe key was revoked, its owner lost access to the workspace, or a read-only key tried to write.
RequestTimeTooSkewedYour computer's clock is off. Turn on automatic time.
SlowDownThe key passed its rate limit. rclone retries on its own.
QuotaExceededThe workspace has used its storage allowance.

See Errors in the S3 reference for the full list.

Next steps#