Skip to Content
Rclone

Rclone

Cloud storage sync and mount — Dropbox, Google Drive, or Uloz.to with optional encryption


Install rclone from the dashboard

The dashboard installer is the preferred way to install rclone. It handles provider selection, OAuth authorization, and encryption setup in one dialog. After install, the Storage widget on the App Dashboard shows your cloud usage and gives you a Manage button for everyday operations — no terminal needed. The CLI path remains available for scripted or advanced use.

Overview

Rclone is a command-line program for syncing files and directories between local storage and cloud providers. QuickBox installs it per user and builds a working directory that includes cache, mount points, and scheduled upload scripts.

The dashboard installer is the recommended path for new installs. It guides you through provider selection, OAuth authorization (for Dropbox and Google Drive), and encryption setup in a single dialog. The CLI remains fully supported for scripted or advanced use cases.

Rclone is not a media server or download client — it focuses on syncing, mounting, and optionally encrypting storage paths.

Key features

Three providers

Install with --dropbox, --gdrive, or --uloz. QuickBox creates the remote and builds the Media tree.

Optional encryption

Add --encrypted to create a crypt remote with a separate encryption password and salt.

Managed mounts

Systemd unit rclone@username mounts the remote with a mergerfs overlay at gmedia, dmedia, or umedia.

Scheduled uploads

A nightly cron entry runs move.sh at 03:12 server time and writes results to move.log.

When to use it

Prerequisites

  • You need a per-user cloud mount (Dropbox, Google Drive, or Uloz.to) managed by QuickBox.
  • You have OAuth app credentials ready (Client ID + Client Secret) or Uloz.to account details.
  • You want optional server-side encryption with rclone crypt.
  • You prefer uploads handled by systemd and cron rather than custom scripts.

What you get

  • Install via the dashboard (recommended) — provider, credentials, and encryption in one dialog.
  • Or use the CLI: qb install rclone --dropbox -u username.
  • Mount points are created under /home/username/rclone with cache, remote, and mergerfs paths.
  • Eight per-user control operations are available after install via qb user rclone.

Quick start — Dashboard

The dashboard installer is the recommended path. It handles OAuth authorization in the browser without any manual token copying.

Steps:

  1. Open the QuickBox dashboard and go to System → Packages.
  2. Search for rclone and open the install dialog.
  3. Select your Cloud Provider:
    • Dropbox — OAuth-based. Enter your App Key (Client ID) and App Secret (Client Secret), then click Authorize Dropbox. Your browser navigates to Dropbox’s consent page. After you approve, the dashboard redirects back and shows Authorized ✓. See Creating OAuth apps below.
    • Google Drive — Same OAuth flow. Enter Client ID and Client Secret, click Authorize Google Drive. See Creating OAuth apps below.
    • Uloz.to — Direct credentials (no OAuth). Enter your Uloz.to username, account password, and app token. See Generating a Uloz.to app token below.
  4. Toggle Encrypt remote contents if you want server-side encryption. When enabled, enter an encryption password and a separate salt (both must be remembered — there is no recovery).
  5. Click Install. The dashboard streams progress. When complete, rclone appears in your service control panel.
OAuth is a full-page redirect

When you click Authorize, your browser navigates away from the dashboard to the provider’s consent page — this is not a popup. After you grant access, the provider sends your browser back to the dashboard automatically and the “Authorized ✓” badge appears. Only then does the Install button become active.

Redirect URI registration required

Before clicking Authorize, you must register the dashboard’s callback URL in your Dropbox or Google OAuth app settings. The Creating OAuth apps section below covers this step. Skipping it will cause the OAuth flow to fail with a redirect_uri mismatch error.


Quick start — CLI

The CLI path is available for advanced users or scripting. The flag-driven form (new) passes credentials non-interactively and is what the dashboard uses internally.

Truly headless servers — use the dashboard

For Dropbox and Google Drive on servers with no attached browser session, the dashboard install path is recommended. The CLI’s interactive fallback uses rclone config reconnect which needs to open a browser to complete OAuth — that does not work over plain SSH. Either use the dashboard install dialog (it runs OAuth in your local browser and passes the token back automatically), or pre-generate a —token JSON blob and pass it on the CLI command line as shown in the flag-driven examples below.

Google Drive

# Interactive (prompts for client ID, client secret, and token) qb install rclone --gdrive -u username # Flag-driven non-interactive qb install rclone --gdrive \ --client-id <client_id> \ --client-secret <client_secret> \ --token '{"access_token":"...","token_type":"Bearer","refresh_token":"...","expiry":"2026-06-01T00:00:00Z"}' \ -u username

Dropbox

# Interactive qb install rclone --dropbox -u username # Flag-driven non-interactive qb install rclone --dropbox \ --client-id <app_key> \ --client-secret <app_secret> \ --token '{"access_token":"...","token_type":"Bearer","refresh_token":"...","expiry":"2026-06-01T00:00:00Z"}' \ -u username

Uloz.to

qb install rclone --uloz \ --uloz-user <username> \ --uloz-pass <password> \ --uloz-app-token <token> \ -u username

Encrypted variant (any provider)

# Add --encrypted with enc-pass and salt-pass to any provider install qb install rclone --dropbox \ --client-id <id> --client-secret <secret> \ --token '...' \ --encrypted \ --enc-pass <encryption-password> \ --salt-pass <salt-password> \ -u username

Beta channel

# Installs from https://beta.rclone.org qb install rclone --dropbox --beta -u username # Update on the beta channel qb update rclone --beta -u username

Install flags

-u, --usernameRequired

Target QuickBox username (required).

--dropbox

Install with Dropbox as the cloud provider.

--gdrive

Install with Google Drive as the cloud provider.

--uloz

Install with Uloz.to as the cloud provider (direct credentials, no OAuth).

--client-id

OAuth App Key / Client ID (Dropbox or Google Drive only). Non-interactive install.

--client-secret

OAuth App Secret / Client Secret (Dropbox or Google Drive only). Non-interactive install.

--token

Pre-authorized OAuth token JSON blob. When present, QuickBox writes it directly to rclone.conf and skips the interactive rclone config reconnect step.

--uloz-user

Uloz.to account username.

--uloz-pass

Uloz.to account password. Stored obscured in rclone.conf.

--uloz-app-token

Uloz.to app token (separate from account password). Generate at https://uloz.to/in-settings.

--encrypted

Create a crypt remote over the provider remote. Requires --enc-pass and --salt-pass.

--enc-pass

Encryption password for the crypt remote. Only valid with --encrypted.

--salt-pass

Encryption salt for the crypt remote. Only valid with --encrypted.

--beta

Install or update from the beta release channel.


Creating OAuth apps

Dropbox and Google Drive require you to create a developer app to get your Client ID and Client Secret. This is a one-time setup per QuickBox installation.

Register the redirect URI before authorizing

The redirect URI must be registered in your OAuth app settings before you click Authorize in the QuickBox dashboard. If the URI is missing or mistyped, the provider will reject the redirect with an error and the install will not complete.

Dropbox

  1. Go to https://www.dropbox.com/developers/apps  and click Create app.

  2. Choose Scoped access, then Full Dropbox access. Give the app a unique name — Dropbox app names are globally unique across the entire Dropbox platform, so common names like rclone are already taken. Use something like QuickBox-rclone-yourname.

  3. On the app’s Settings tab, find OAuth 2Redirect URIs and add:

    https://<your-dashboard-domain>/api/packages/rclone/oauth/dropbox/callback

    Replace <your-dashboard-domain> with the actual domain your QuickBox dashboard is reachable at — the same domain you open in your browser to access the dashboard.

  4. Open the Permissions tab on the same app settings page and enable the following scopes (these are what rclone needs to read/write files and metadata):

    • account_info.read
    • files.metadata.write
    • files.content.write
    • files.content.read
    • sharing.write

    Click Submit at the bottom of the Permissions tab. Without these scopes enabled, rclone will fail with permission errors when you try to upload or list files even though the OAuth handshake completes successfully.

  5. Copy the App key (this is your client_id) and App secret (this is your client_secret) from the Settings tab.

  6. Paste both values into the dashboard install dialog, then click Authorize Dropbox.

Google Drive

  1. Go to https://console.cloud.google.com/apis/credentials  — create or select a project for your QuickBox install.
  2. Enable the Google Drive API first. Navigate to APIs & Services → Library, search for Google Drive API, and click Enable. Without this step the OAuth handshake will succeed but every rclone API call returns a 403.
  3. Configure the OAuth consent screen at APIs & Services → OAuth consent screen:
    • User type: Select External for most QuickBox installs (any Google account can authorize). Choose Internal only if you are a Google Workspace admin and want to restrict the app to users in your own organization.
    • App information: Provide an app name (e.g., QuickBox-rclone), a User support email, and Developer contact information. These values appear on the consent screen users see during authorize.
    • Scopes: Click Add or Remove Scopes and add the three scopes rclone uses:
      • https://www.googleapis.com/auth/docs
      • https://www.googleapis.com/auth/drive
      • https://www.googleapis.com/auth/drive.metadata.readonly
    • Publishing status — choose one path BEFORE you connect:
      • Option A — Publish to production (recommended for QuickBox installs). Click Publish app. Google will warn that the auth/drive scope is “sensitive” and may require verification — for a private personal-use install you can ignore the verification request. Your refresh tokens will not expire and rclone will work indefinitely. The trade-off is that during authorize the user sees an “unverified app” warning screen — proceed via Advanced → Go to (your-app-name) (unsafe).
      • Option B — Keep in Testing mode. Add yourself (and any other authorized users) under Test users. No unverified-app warning during authorize, BUT every grant expires after 7 days, after which you must run qb user rclone -o reauth -u username (or click Re-authorize on the dashboard control card).
  4. Create the OAuth client at APIs & Services → Credentials → Create Credentials → OAuth client ID:
    • Application type: Select Web application (NOT Desktop — rclone.org’s general docs mention Desktop because rclone runs its own local listener, but QuickBox uses the dashboard as the OAuth redirect target which requires a Web application client).
    • Name: any identifier you choose (e.g., QuickBox-rclone).
    • Authorized redirect URIs: click Add URI and enter:
      https://<your-dashboard-domain>/api/packages/rclone/oauth/gdrive/callback
    • Click Create.
  5. Copy the Client ID and Client Secret from the confirmation dialog and paste both into the dashboard install dialog, then click Authorize Google Drive.
Expect an 'unverified app' warning during authorize (Option A)

If you chose Option A (Publish to production) above, the Google consent screen will show “Google hasn’t verified this app” during authorize. This is expected behavior for personal-use OAuth apps and does NOT mean QuickBox or rclone is unsafe — Google is warning you about YOUR OWN app, which it has no way to verify is benign without a paid review process. Click Advanced, then Go to (your-app-name) (unsafe) to proceed. After completing the authorization once, this screen will not appear again on the same browser unless you revoke access.

HTTPS is required

Both providers require HTTPS redirect URIs. Every QuickBox installation has lecert-managed SSL on its dashboard domain, so this works without any extra configuration. If you are running a local development install over HTTP, use Google’s “Testing” OAuth mode or Dropbox’s localhost exception.


Generating a Uloz.to app token

Uloz.to uses direct credentials — no OAuth flow. You need three values:

  • Username — your Uloz.to account login name
  • Password — your Uloz.to account password
  • App token — a separate per-application token, distinct from your password

To generate an app token, log in to Uloz.to and go to https://uloz.to/in-settings  (the Application tokens section). Create a new token and copy it into the dashboard install dialog or the --uloz-app-token CLI flag.

App token vs account password

The app token and account password are separate credentials. The app token is what rclone uses to authenticate. Your account password is also required during install because rclone needs both to set up the remote correctly.


Configuration and files

QuickBox creates a per-user config directory and a working folder with cache, mounts, and upload scripts.

/home/username
.config/rclone/# Per-user rclone configuration
├── rclone.conf# Remote definitions and credentials (OAuth token, Uloz.to creds, crypt config)
└── rclone_beta.txt# Present when installed with --beta; marks the beta channel
rclone/# Working directory for mounts, uploads, and logs
├── cache/# Upload staging area — files here are moved to the cloud by move.sh
├── gdrive/# Google Drive mount point (or crypt view when encrypted)
├── dropbox/# Dropbox mount point (or crypt view when encrypted)
├── uloz/# Uloz.to mount point (or crypt view when encrypted)
├── gmedia/# Mergerfs overlay for Google Drive installs (cache + gdrive)
├── dmedia/# Mergerfs overlay for Dropbox installs (cache + dropbox)
├── umedia/# Mergerfs overlay for Uloz.to installs (cache + uloz)
├── move.sh# Nightly upload script — run by cron at 03:12 server time
├── move.log# Upload log — records each move.sh run; read by qb user rclone -o logs
└── rclone.lock# Upload lock file — prevents concurrent runs; remove with remove_lock op if stuck

Common tasks — qb user rclone

Eight per-user operations are available after install. Run them with -u username to target a specific user. Two operations (config-edit and switch-provider) require admin privileges; the other six can be run by the user themselves.

Operation
status
What it does
Show mount health, last upload time, lock state, provider, and whether encryption is active.
Command
qb user rclone -o status -u username
Dashboard
Operation
upload
What it does
Trigger an immediate upload via move.sh (skips the nightly cron schedule).
Command
qb user rclone -o upload -u username
Dashboard
Operation
logs
What it does
Tail the last 20 lines of move.log.
Command
qb user rclone -o logs -u username
Dashboard
Operation
remove_lock
What it does
Delete a stuck rclone.lock file so the next upload can proceed.
Command
qb user rclone -o remove_lock -u username
Dashboard
Operation
reauth
What it does
Re-authorize OAuth credentials for Dropbox or Google Drive, or refresh Uloz.to credentials. Run when a token has expired or been revoked.
Command
qb user rclone -o reauth -u username
Dashboard
Operation
schedule
What it does
View or edit the crontab time for the nightly upload. Interactive — shows current time and prompts for a new one.
Command
qb user rclone -o schedule -u username
Dashboard
CLI only
Operation
config-edit
What it does
Open rclone.conf in a text editor. Admin only.
Command
qb user rclone -o config-edit -u username
Dashboard
CLI only
Operation
switch-provider
What it does
Migrate the user's rclone setup to a different provider. Admin only. Destructive — stops services, backs up the config, removes the old remote, and creates the new one.
Command
qb user rclone -o switch-provider -u username --dropbox --client-id <id> --client-secret <secret> --token <json>
Dashboard
CLI only
Admin-only operations

The config-edit and switch-provider operations require admin privileges. Regular users can run status, upload, logs, remove_lock, reauth, and schedule.

Switching providers with switch-provider

To move a user from one cloud provider to another without reinstalling:

# Switch to Dropbox (OAuth — requires pre-authorized token) qb user rclone -o switch-provider -u username \ --dropbox \ --client-id <app_key> \ --client-secret <app_secret> \ --token '{"access_token":"...","refresh_token":"...","token_type":"Bearer","expiry":"..."}' # Switch to Uloz.to (direct credentials) qb user rclone -o switch-provider -u username \ --uloz \ --uloz-user <username> \ --uloz-pass <password> \ --uloz-app-token <token>

This operation stops the current rclone service, backs up rclone.conf, removes the old remote, creates the new one, swaps the systemd unit templates, and restarts all services. A timestamped backup is saved to ~/.config/rclone/rclone.conf.bak.YYYYMMDDHHMMSS.


Service management

Dashboard alternative

Most everyday operations (status, upload now, view logs, remove lock, re-authorize) are also available through the rclone control card in the QuickBox dashboard — no terminal required. After install, the App Dashboard Storage widget also shows a Cloud Sync row with your provider, last-upload time, and a Manage button. See App Management — Storage widget for details. The CLI commands below are for terminal-based administration when you need them.

# Restart the rclone mount service systemctl restart rclone@username # Check mount service status systemctl status rclone@username # Check the Google Drive mergerfs mount systemctl status home-username-rclone-gmedia.mount # Check the Dropbox mergerfs mount systemctl status home-username-rclone-dmedia.mount # Check the Uloz.to mergerfs mount systemctl status home-username-rclone-umedia.mount # Clear the upload log qb clean rclone_logs -u username

Encryption

The --encrypted flag creates a crypt remote layered over the main remote. Files stored in the cloud are encrypted; the local mount path shows them transparently decrypted.

Key facts:

  • Encryption is configured at install time only. There is no upgrade path from a plaintext install to an encrypted install — you must reinstall.
  • The Encryption password (--enc-pass) and the Encryption salt (--salt-pass) must both be provided and must be different from each other. Store them safely — there is no recovery if they are lost.
  • All three providers (Dropbox, Google Drive, and Uloz.to) support encryption.
  • The dashboard install dialog shows the encryption fields when Encrypt remote contents is set to Yes.
# Verify encryption is active for a user qb user rclone -o status -u username # Look for "encrypted: yes" in the output

Troubleshooting

Mount path is empty or missing

Confirm that rclone@username is active: systemctl status rclone@username. Also check the mergerfs mount unit for your provider (home-username-rclone-gmedia.mount, home-username-rclone-dmedia.mount, or home-username-rclone-umedia.mount). If the service failed on start, check journalctl -u rclone@username for the reason.

Uploads not running

Confirm the cron entry exists: crontab -l -u username | grep move.sh. The default schedule is 12 3 * * *. Also run qb user rclone -o status -u username — if “lock: held” appears without an active upload, run qb user rclone -o remove_lock -u username to clear the stale lock.

OAuth errors — redirect_uri mismatch

If the Dropbox or Google authorization page shows a redirect_uri mismatch error, the callback URL is not registered in your OAuth app. Open your app’s settings at the provider’s developer console and add the exact callback URL:
- Dropbox: https://<dashboard-domain>/api/packages/rclone/oauth/dropbox/callback
- Google: https://<dashboard-domain>/api/packages/rclone/oauth/gdrive/callback

OAuth errors — invalid client_id or client_secret

Double-check that you copied the full App Key and App Secret (Dropbox) or Client ID and Client Secret (Google) without trailing spaces. For Google, also confirm the Google Drive API is enabled in your project’s API Library.

Uloz.to credential errors

If the Uloz.to remote fails to authenticate, check each credential separately. The app token and account password are different. Generate the app token at uloz.to/in-settings under Application tokens.

Encryption password mismatch after reinstall

If you reinstall with —encrypted and the new passwords do not match the ones used originally, rclone will not be able to decrypt existing files in the cloud. The old files are not lost — reinstall again with the original passwords to restore access.


Best practices

Do

  • Use only one provider flag per install: --dropbox, --gdrive, or --uloz.
  • Register the callback redirect URI in your OAuth app settings before clicking Authorize.
  • Store your encryption password and salt in a password manager — there is no recovery path.
  • Run qb user rclone -o status -u username after install to confirm the mount is healthy.
  • Use switch-provider to migrate between providers rather than reinstalling — it preserves the user's existing cron schedule.

Don't

  • Do not edit systemd unit files under /etc/systemd/system by hand.
  • Do not remove rclone.lock while an upload is actively running — use qb user rclone -o status first.
  • Do not attempt to add encryption to an existing plaintext install — a fresh install is required.
  • Do not share the same OAuth app between multiple QuickBox users — create one app per install.

FAQ

A cron entry is added at install time for 12 3 * * * (03:12 server time). Each run invokes /home/username/rclone/move.sh, writes results to move.log, and uses rclone.lock to prevent overlapping runs. You can view or change the schedule with qb user rclone -o schedule -u username.
The main rclone mount service is rclone@username. Google Drive installs create /home/username/rclone/gdrive plus a mergerfs unit at home-username-rclone-gmedia.mount. Dropbox mirrors this with /home/username/rclone/dropbox and home-username-rclone-dmedia.mount. Uloz.to uses /home/username/rclone/uloz and home-username-rclone-umedia.mount.
QuickBox creates a crypt remote layered over your provider remote. The same mount path shows decrypted files locally. The upload script is replaced with an encrypted variant. Both the encryption password and salt are required at install time and cannot be changed without reinstalling.
Use the switch-provider operation: qb user rclone -o switch-provider -u username --gdrive --client-id <id> --client-secret <secret> --token '...'. This is an admin-only operation that stops the current service, backs up the config, removes the old Dropbox remote, and creates the new Google Drive remote. Alternatively, you can remove and reinstall rclone for the user.
From a server terminal: qb user rclone -o reauth -u username (interactive — uses rclone config reconnect which requires a browser). From the QuickBox dashboard: click the Re-authorize button on the rclone control card — it runs the same OAuth flow as the original install and updates the stored token without reinstalling.
First run qb user rclone -o status -u username to check whether an upload is actually in progress ("lock: held" with a recent last-upload time) or whether the lock is stale. If the lock is stale (no active process), run qb user rclone -o remove_lock -u username to clear it, then trigger a fresh upload with qb user rclone -o upload -u username.
No. Encryption is set up during the install process and requires writing the crypt remote configuration and replacing the upload scripts. To add encryption, remove rclone for the user (qb remove rclone -u username) and reinstall with --encrypted. Files already in the cloud will remain unencrypted and are not affected by the reinstall.
OAuth access tokens expire over time. Run qb user rclone -o reauth -u username to refresh the token. rclone's built-in token refresh handles short-lived access tokens automatically using the stored refresh token; a manual reauth is only needed when the refresh token itself is revoked (e.g., the user resets their Dropbox or Google account password, or removes the authorized app).
The upload log is at /home/username/rclone/move.log. You can view it via CLI with qb user rclone -o logs -u username (shows the last 20 lines) or in the QuickBox dashboard under the rclone service card.

Resources


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server
Last updated on