75 lines
1.7 KiB
Markdown
75 lines
1.7 KiB
Markdown
# U-Navigator
|
|
|
|
Unraid File Navigator.
|
|
|
|
Ziel: Eine optische Dateiverwaltung fuer Unraid, inspiriert von Synology File Station.
|
|
|
|
Aktueller Stand:
|
|
|
|
- Machbarkeitsstudie: [docs/MACHBARKEITSSTUDIE.md](docs/MACHBARKEITSSTUDIE.md)
|
|
- Prototyp: In-App-Fenstermanager, Explorer-Fenster, Eigenschaften-Fenster, Transfer-Queue, lokaler Upload und interne Move/Copy-Jobs.
|
|
|
|
Kurzentscheidung:
|
|
|
|
U-Navigator ist als Unraid-Plugin machbar. Empfohlen wird ein hybrider Aufbau aus Unraid-Plugin, lokalem Backend-Dienst und moderner Weboberflaeche.
|
|
|
|
Naechster sinnvoller Schritt:
|
|
|
|
Go-Backend oder gebuendelte Runtime, damit das Plugin nicht mehr von einer vorhandenen Node.js-Installation abhaengt.
|
|
|
|
## Unraid Plugin installieren
|
|
|
|
Plugin-URL:
|
|
|
|
```text
|
|
https://git.casaderoll.de/michael/Unraid-Navigator/raw/branch/main/u-navigator.plg
|
|
```
|
|
|
|
Installation per Unraid Terminal:
|
|
|
|
```sh
|
|
installplg https://git.casaderoll.de/michael/Unraid-Navigator/raw/branch/main/u-navigator.plg
|
|
```
|
|
|
|
Oder im WebGUI:
|
|
|
|
```text
|
|
Plugins -> Install Plugin -> URL einfuegen -> Install
|
|
```
|
|
|
|
Danach starten:
|
|
|
|
```sh
|
|
rc.u-navigator start
|
|
```
|
|
|
|
Status pruefen:
|
|
|
|
```sh
|
|
rc.u-navigator status
|
|
```
|
|
|
|
Wichtig: Dieser erste Plugin-Spike benoetigt `node` auf dem Unraid-System. Falls `rc.u-navigator start` meldet, dass Node.js fehlt, muss als naechster Schritt das Backend als Go-Binary gebaut oder Node.js separat bereitgestellt werden.
|
|
|
|
## Lokal starten
|
|
|
|
Der Prototyp nutzt standardmaessig `/mnt/user`. Auf Entwicklungsmaschinen ohne diesen Pfad kann ein Root gesetzt werden:
|
|
|
|
```sh
|
|
U_NAV_ROOT="$PWD" PORT=8088 npm start
|
|
```
|
|
|
|
Danach im Browser oeffnen:
|
|
|
|
```text
|
|
http://127.0.0.1:8088
|
|
```
|
|
|
|
## Tests
|
|
|
|
```sh
|
|
npm test
|
|
```
|
|
|
|
Die Tests starten einen lokalen HTTP-Server und pruefen Listing, Upload, Move-Jobs, Zielkonflikte und Pfad-Sandboxing.
|