Quickstart
Run Nodus locally — Relay, web client, and a Storage Node — and pair your first device.
This page gets a complete Nodus stack running on one machine for evaluation. For production self-hosting see Self-hosting.
1. Start the Relay and its dependencies
The Relay needs Redis, which Docker Compose provides. Its durable state is a local SQLite file:
cd services/relay
docker compose up -d # Redis 7 (health-checked); SQLite is created locally
go run .The Relay listens on :8080 by default and runs database migrations
automatically on startup. For plain-HTTP local development, set
SESSION_COOKIE_SECURE=false.
2. Run the web client
pnpm install
cd apps/web
pnpm dev # http://localhost:3000Point the web app at the local Relay with RELAY_URL (it defaults to
http://localhost:8080). Open http://localhost:3000 and create an account at
/auth.
3. Run a Storage Node
cd services/storage-node
cargo run -- --data-dir ~/NodusBackupOn first run the interactive CLI asks for the Relay URL and a pairing code. Mint a code in the web app under Devices → “+ Add Storage Node”, paste it in, and the node pairs and starts.
Alternatively, pair non-interactively:
nodus node pair --relay http://localhost:8080 --code NODUS-XXXX-XXXX4. Upload your first file
In the web client, open Backups, then upload a file (button or drag-and-drop). Watch the path indicator: on the same machine this is a direct local transfer (Path A). See Transfer paths for what each indicator means.
Where things are stored
| Component | State |
|---|---|
| Relay | SQLite + Redis + a transient shard buffer (BUFFER_DIR) |
| Storage Node | nodus.db (SQLite), objects/ (encrypted shards), ~/.nodus/identity/ |