Your data everywhere and nowhere
Dust is a high-availability, decentralized file storage system. It leverages an actor-mesh architecture to move beyond traditional client-server models, treating data as a distributed pattern of encrypted fragments scattered across a private Tailscale data plane. By combining the fault tolerance of Elixir/OTP with the low-level networking capabilities of Go, Dust provides a unified, local-first filesystem that remains consistent across heterogenous nodes (NAS, Desktop, Laptop, and Mobile).
Prebuilt release binaries include the Erlang runtime and have no additional runtime dependencies. Pick your platform:
| Platform | Guide |
|---|---|
| Linux | docs/install/linux.md |
| macOS | docs/install/macos.md |
| NixOS | docs/install/nixos.md |
| Windows | docs/install/windows.md |
To compile from source instead, see docs/build-from-source.md.
Once the daemon and dustctl are installed:
dustctl daemon start # start the daemon (all other commands talk to it)
dustctl auth # connect node to Tailscale (skip if TS_AUTHKEY is set)
dustctl init # setup wizard: data dir, key store unlock, network setupSee Getting Started for the full first-node walkthrough, including joining an existing cluster and installing the daemon as a system service.
- Getting Started — first-node setup walkthrough
- CLI Reference — full
dustctlcommand list - Configuration — Tailscale ACLs, environment variables, NixOS module options
- Security — authentication and tag enforcement notes
- Building from Source — toolchain setup and per-OS build steps
Apache 2.0 — see LICENSE.
