mirror of
https://github.com/harivansh-afk/betterNAS.git
synced 2026-04-15 15:03:34 +00:00
1.8 KiB
1.8 KiB
betterNAS Part 1: NAS Node
This document describes the software that runs on the actual NAS machine, VM, or workstation that owns the files.
What it is
The NAS node is the machine that actually has the storage.
It should run:
- the
node-service - a WebDAV server surface
- export configuration
- optional enrollment or heartbeat back to
control-server - later, a reproducible install path such as Docker or Nix
It should expose one or more storage exports such as:
/data/media/backups/vm-images
What it does
- serves the real file bytes
- exposes chosen directories over WebDAV
- reports identity, health, and exports to
control-server - stays simple enough to self-host on a single NAS box
What it should not do
- own product policy
- decide user access rules by itself
- become the system of record for users, grants, or shares
Diagram
self-hosted betterNAS stack
web control plane ---> control-server ---> [THIS DOC] node-service
^ |
| |
+---------------- user browser ----------+
local Mac ---------------- Finder mount ----------+
Core decisions
- The NAS node should be where WebDAV is served from whenever possible.
- The node should be installable as one boring runtime on the user's machine.
- The node should expose exports, not product semantics.
TODO
- Define the self-hosted install shape: Docker first, Nix second, or both.
- Define the node identity and enrollment model.
- Define the storage export model: path, label, tags, permissions, capacity.
- Define when the node self-registers vs when bootstrap tooling registers it.
- Define direct-access vs relay-access behavior for remote use.