-
Notifications
You must be signed in to change notification settings - Fork 0
For Linux Users
This page is for you if you've used rclone, the OneDrive Linux client, rsync, Insync, or have just been making do with the web UI on Linux because the official desktop client doesn't ship for your distro.
A daemon (unidrive sync --watch) plus a CLI (unidrive) plus an optional MCP server (unidrive-mcp) that talks to eight cloud-storage providers from a single config file. JVM 21 LTS, runs on systemd --user, ships as a single shadow JAR + a Bash launcher. State lives in a SQLite database at ~/.local/share/unidrive/{profile}/state.db.
No prebuilt binaries yet — build from source:
git clone https://github.com/gkrost/unidrive.git
cd unidrive/core
./gradlew :app:cli:deploy :app:mcp:deployThat puts unidrive and unidrive-mcp launchers under ~/.local/bin/ and the JARs under ~/.local/lib/unidrive/. A systemd user unit (~/.config/systemd/user/unidrive.service) is installed and started for you.
Make sure ~/.local/bin is on your PATH.
# 1. Edit the config file (TOML)
$EDITOR ~/.config/unidrive/config.toml
# 2. Authenticate the profile (browser-based for OAuth providers)
unidrive auth -p my-onedrive
# 3. Run the first sync
unidrive sync -p my-onedriveA minimal config file:
[general]
sync_root = "/home/yourname/CloudStuff"
conflict_policy = "keep_both"
[profile.my-onedrive]
provider = "onedrive"
remote_path = "/"Eight provider types are recognised: onedrive, s3, sftp, webdav, rclone, hidrive, internxt, localfs. See Provider Status for which ones are MVP-ready and which are preview.
-
vs
rclone— UniDrive has fewer providers (8 vs ~70+) but a real local sync engine with state tracking, conflict resolution, and a daemon mode.rcloneis closer to a copy/mirror utility; UniDrive is closer to what the official client of each provider does on Windows/macOS, but for Linux. UniDrive has anrcloneprovider so you can use rclone backends from inside UniDrive when needed. -
vs the official OneDrive Linux client (third-party
abraunegg/onedrive) — that one is OneDrive-only. UniDrive can sync OneDrive and an SFTP server and an S3 bucket from one config file, with one daemon, one CLI. -
vs
rsyncover cron —rsyncdoesn't speak OAuth or HTTP-based cloud APIs. For SFTP and local-to-local you can use either; for everything elsersyncdoesn't apply. -
vs
Insync(commercial) — UniDrive is open-source and Apache-2.0. No subscription, no account.
-
localfs,s3,sftp— MVP quality. Used in CI integration tests. -
onedrive,webdav,rclone,hidrive,internxt— preview. They build, they have unit tests, and most operations work — but they don't gate the MVP release.
See Provider Status for the per-capability matrix.
- Bidirectional sync with conflict detection (keep-both or last-writer-wins, configurable per profile).
- Pin rules — glob patterns that mark certain files as "always keep a real local copy"; everything else can be a 0-byte placeholder until you open it.
-
--dry-runfor every operation so you can see what would happen first. - Adaptive polling — cycles between active/normal/idle delays so it's not hammering the API when nothing's changing.
-
unidrive log --watchstreams structured sync events over a Unix-domain socket, NDJSON. Third-party tray applets / status bars can subscribe. -
MCP server (
unidrive-mcp) — 15 tools an LLM can call to drive the sync, list files, resolve conflicts, etc.
- Provider Status for what works with which provider.
- FAQ for the common gotchas.
- For Developers if you want to read the code or add a provider.
- The user guide in the repo for command reference.