Nodus
Getting Started

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:3000

Point 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 ~/NodusBackup

On 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-XXXX

4. 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

ComponentState
RelaySQLite + Redis + a transient shard buffer (BUFFER_DIR)
Storage Nodenodus.db (SQLite), objects/ (encrypted shards), ~/.nodus/identity/

Next steps

On this page