Spacedrive is a cross-platform file explorer built on a virtual distributed filesystem written in Rust, with a TypeScript/Specta-generated client layer for desktop, web, and mobile. It's aimed at developers and power users who want a single, searchable view of files spread across local disks, NAS datasets, other Spacedrive nodes, and cloud buckets, without handing control of that data to a hosted service.
The project treats every storage location, a folder, a drive, a NAS dataset, a cloud bucket, or another Spacedrive node, as a "source" with the same record shape and operations. Each source gets a portable SQLite-backed store with an FTS5 index, so catalogs remain searchable even when the drive is disconnected or the source has moved to another machine. A Rust daemon owns indexing, identity, policy, and job execution; clients (desktop, web, mobile, CLI, SDKs, MCP server) all talk to the same typed operation registry over JSON-RPC.
Spacedrive fits people managing files across several physical locations, multiple drives, a NAS, a few cloud accounts, and devices, who want one search and one set of organizational metadata instead of juggling separate tools per storage provider. It's also a reasonable base for building file-management automation or agent workflows that need a safe, previewable interface to real filesystem operations rather than raw shell commands.
It's a good fit if you want to keep ownership of your data (no hosted account, no vendor control plane) while still getting search, duplicate detection, and change history that cloud-native tools usually provide. It also suits developers interested in building source adapters or extensions for niche storage backends.
It is not a good fit if you need a polished, stable consumer product today: the project describes itself as heading toward a beta, and the nightly builds are unsigned, move with every commit to main, and can break schemas without migration paths. It's also not the right choice if you just want a simple local file manager with no cross-device or cross-cloud ambitions, since the architecture (daemon, typed operation registry, portable stores) is considerably more than that.
Two paths are documented: running a nightly prebuilt binary, or building from source.
Nightly binaries (macOS ARM64 and Linux x86-64) are published on the nightly release:
shasum -a 256 -c sd-macos-aarch64.sha256 sd-daemon-macos-aarch64.sha256 # sha256sum -c on Linux
chmod +x sd-macos-aarch64 sd-daemon-macos-aarch64
mv sd-macos-aarch64 ~/.local/bin/sd
mv sd-daemon-macos-aarch64 ~/.local/bin/sd-daemon
sd daemon install
On macOS, remove the quarantine flag before running: xattr -d com.apple.quarantine sd sd-daemon.
To keep sd on the latest nightly automatically:
sd config set update.channel nightly
sd update --yes
sd update install-timer
Building from source requires Rust 1.95+ (pinned to 1.97.1), Bun 1.3.4, Node 20, and just:
git clone https://github.com/spacedriveapp/spacedrive
cd spacedrive
./scripts/setup.sh # .\scripts\setup.ps1 on Windows
bun install
cargo run -p xtask -- setup
Then run the daemon and a client:
just dev-daemon # Rust daemon
just dev-desktop # Desktop client
just dev-server # Headless server and web interface
just dev-mobile # Mobile client
The sd-ffmpeg crate links native FFmpeg libraries for video thumbnails; scripts/setup.sh installs the required dev packages. Run just test and just check before submitting changes.