update docs

This commit is contained in:
Harivansh Rathi 2026-04-01 16:43:25 +00:00
parent c5be520772
commit 5bc24fa99d
11 changed files with 591 additions and 632 deletions

View file

@ -1,19 +1,21 @@
# betterNAS Part 3: Local Device
This document describes the software and user experience on the user's Mac or other local device.
This document describes the software and user experience on the user's Mac or
other local device.
## What it is
The local device layer is how a user actually mounts and uses their NAS.
It can start simple:
It should start simple:
- Finder + WebDAV mount
- manual `Connect to Server`
- browser opens the web control plane
- user gets a WebDAV mount URL
- Finder mounts the export
It can later grow into:
- a small desktop helper
- a small helper app
- one-click mount flows
- auto-mount at login
- status and reconnect behavior
@ -21,52 +23,50 @@ It can later grow into:
## What it does
- authenticates the user to betterNAS
- fetches allowed mount profiles from the control plane
- fetches allowed mount profiles from `control-server`
- mounts approved storage exports locally
- gives the user a native-feeling way to browse files
## What it should not do
- invent its own permissions model
- hardcode NAS endpoints outside the control plane
- become tightly coupled to Nextcloud
- hardcode node endpoints outside the control-server
- depend on the optional cloud adapter for the core mount flow
## Diagram
```text
betterNAS system
self-hosted betterNAS stack
NAS node <---------> control plane <---------> [THIS DOC] local device
| | |
| | |
+---------------------------+-----------------------+-----------+
|
v
cloud/web layer
node-service <--------> control-server <--------> web control plane
^ ^
| |
+------------- [THIS DOC] local device ---------+
browser + Finder
```
## Core decisions
- V1 can rely on native Finder WebDAV mounting.
- A lightweight helper app is likely enough before a full custom client.
- The local device should consume mount profiles, not raw infrastructure details.
- V1 relies on native Finder WebDAV mounting.
- The web UI should be enough to get the user to a mountable URL.
- A lightweight helper app is likely enough before a full native client.
## User modes
### Mount mode
- user mounts a NAS export into Finder
- user mounts a NAS export in Finder
- files are browsed as a mounted remote disk
### Cloud mode
### Browser mode
- user accesses the same storage through browser/mobile/cloud surfaces
- this is not the same as a mounted filesystem
- user manages the NAS and exports in the web control plane
- optional later: browse files in the browser
## TODO
- Define the mount profile format the control plane returns.
- Decide what the first local UX is: manual Finder flow, helper app, or both.
- Define credential storage and Keychain behavior.
- Define auto-mount, reconnect, and offline expectations.
- Define how the local device hands off to the cloud/web layer when mount mode is not enough.
- Define the mount profile format returned by `control-server`.
- Decide whether the first UX is manual Finder flow, helper app, or both.
- Define credential handling and Keychain behavior.
- Define reconnect and auto-mount expectations.
- Define what later native client work is actually worth doing.