docs: README Desktop Sync Client komplett dokumentiert

- Features-Liste (Virtual Files, Multi-Sync, Offline, Locking, Tray etc.)
- Terminalserver-Tabelle (pro User eigene Instanz)
- Virtual Files vs. Full Sync Vergleichstabelle
- Einstellungen-Pfade pro OS
- Config bleibt bei Updates erhalten

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stefan Hacker 2026-04-12 01:30:08 +02:00
parent b653f9657a
commit 11fd11aa45
1 changed files with 42 additions and 1 deletions

View File

@ -297,6 +297,38 @@ data/ # Laufzeitdaten (gitignored)
Der Desktop-Client (`clients/desktop/`) synchronisiert Dateien zwischen der Cloud und einem lokalen Ordner. Gebaut mit Tauri 2 (Rust + Vue). Der Desktop-Client (`clients/desktop/`) synchronisiert Dateien zwischen der Cloud und einem lokalen Ordner. Gebaut mit Tauri 2 (Rust + Vue).
### Features
- **Multi-Sync-Pfade**: Beliebig viele Server-Ordner auf lokale Ordner mappen (z.B. `/Projekte` -> `~/Projekte`, `/Shared/Team` -> `~/Team`)
- **Virtual Files**: `.cloud`-Platzhalter (0 Bytes), Download erst bei Doppelklick. Kein Speicherverbrauch fuer nicht benoetigte Dateien
- **Full Sync**: Alternativ alle Dateien komplett lokal spiegeln (pro Pfad waehlbar)
- **Offline-Markierung**: Einzelne Dateien als offline verfuegbar markieren (Rechtsklick im Datei-Browser)
- **Sofort-Sync**: Filesystem-Watcher erkennt lokale Aenderungen sofort (3s Debounce), kein 30s-Polling
- **File Locking**: Automatisches Ein-/Auschecken mit Heartbeat
- **System-Tray**: Minimiert in den Tray statt zu beenden, Doppelklick oeffnet Fenster
- **Auto-Login**: Zugangsdaten und Sync-Pfade bleiben nach Neustart/Update erhalten
- **Terminalserver**: Pro User eine eigene Instanz, keine Konflikte zwischen Benutzern
### Terminalserver-Verhalten
| Szenario | Verhalten |
|----------|-----------|
| User A startet Client | Laeuft, eigenes Lock-File in `%APPDATA%\MiniCloud Sync\` |
| User B startet Client | Laeuft separat, eigenes Lock-File in seinem `%APPDATA%` |
| User A doppelklickt `.cloud` | Laufende Instanz von User A oeffnet die Datei |
| User A startet nochmal | "Already running" -> beendet sich sofort |
| Client crashed | Naechster Start prueft ob PID noch lebt -> stale Lock -> ueberschreibt |
### Virtual Files vs. Full Sync
| | Virtual Files | Full Sync |
|---|---|---|
| Speicher | Nur .cloud Platzhalter (0 Bytes) | Alle Dateien komplett lokal |
| Zugriff | Doppelklick = Download + Oeffnen | Sofort verfuegbar |
| Offline | Nur markierte Dateien | Alles offline |
| Upload | Neue lokale Dateien werden hochgeladen | Bidirektionaler Sync |
| Empfehlung | Grosse Datenmengen, Laptops | Kleine Ordner, immer offline noetig |
### Bauen ### Bauen
```bash ```bash
@ -317,7 +349,7 @@ Der Desktop-Client (`clients/desktop/`) synchronisiert Dateien zwischen der Clou
### Auto-Upload auf den Server ### Auto-Upload auf den Server
Nach dem Build kann der Client automatisch auf den Cloud-Server hochgeladen werden und steht dort zum Download bereit. Nach dem Build wird der Client automatisch auf den Cloud-Server hochgeladen und steht dort zum Download bereit.
**Auf der Entwicklungsmaschine** (nicht auf dem Server!) in die `.env` eintragen: **Auf der Entwicklungsmaschine** (nicht auf dem Server!) in die `.env` eintragen:
@ -333,6 +365,15 @@ Danach laedt `./build.sh linux` (etc.) den Build automatisch hoch. Auf der Login
**Wichtig:** `CLOUD_URL` und `BUILD_UPLOAD_TOKEN` gehoeren NUR in die `.env` der Entwicklungsmaschine, NICHT auf den Produktionsserver! **Wichtig:** `CLOUD_URL` und `BUILD_UPLOAD_TOKEN` gehoeren NUR in die `.env` der Entwicklungsmaschine, NICHT auf den Produktionsserver!
### Einstellungen
Einstellungen werden gespeichert in:
- **Windows**: `%APPDATA%\MiniCloud Sync\config.json`
- **Linux**: `~/.config/MiniCloud Sync/config.json`
- **macOS**: `~/Library/Application Support/MiniCloud Sync/config.json`
Gespeichert werden: Server-URL, Benutzername, Passwort (base64), Sync-Pfade. Bleiben bei Updates erhalten.
## Roadmap ## Roadmap
- Mobile Sync-Client (iOS, Android) mit On-Demand-Download + File Provider - Mobile Sync-Client (iOS, Android) mit On-Demand-Download + File Provider