mirror of
https://github.com/harivansh-afk/betterNAS.git
synced 2026-04-16 14:01:06 +00:00
update docs
This commit is contained in:
parent
c5be520772
commit
5bc24fa99d
11 changed files with 591 additions and 632 deletions
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue