Datenhaltung & Backup
Wo Rapport seine Daten speichert, wie du sie sicherst und wiederherstellst.
Diese Seite beschreibt die Desktop-App (Single-User). Wer im Team arbeitet und Rapport gegen einen Rapport Server betreibt, sichert stattdessen die Postgres-Datenbank — siehe Rapport Server § Backup.
Speicherort (Desktop-App)
Die Desktop-App speichert alles lokal — keine Cloud, kein Server.
macOS
~/Library/Application Support/com.rapport.app/Dort liegt eine einzelne localStorage-Datenbank des WebView, in der alle Rapport-Daten als JSON unter dem Key studio_data_v1 gespeichert sind:
- Bürodaten, Logo, IBAN
- Mitarbeiter, Kunden, Projekte, Offerten
- Zeit-Einträge, Rechnungen
- Spesen, Lohnabrechnungen, Protokolle
- App-Einstellungen
Konsequenz: Wer den Application-Support-Ordner kopiert, hat ein vollständiges Backup. Wer ihn löscht, verliert alle Daten.
Warum localStorage?
In der Desktop-App ist Rapport eine Single-User-Anwendung. localStorage ist dafür:
- Schnell — keine Datenbank-Roundtrips
- Einfach — keine Migration nötig, JSON-Schema im Code
- Portabel — eine Datei → ein Backup
Für Multi-User-Betrieb existiert Rapport Server — Postgres + Auth + Realtime in einem Docker-Compose. Wechsel zwischen Desktop- und Server-Modus erfolgt im Login-Bildschirm der App.
Backup-Strategien
A · Einfach (manuell)
Den ganzen Ordner kopieren:
cp -R "~/Library/Application Support/com.rapport.app" \
"~/Documents/Rapport-Backup-$(date +%Y%m%d)"→ Auf USB-Stick, externen Datenträger oder in die Cloud.
B · Time Machine
Wenn Time Machine läuft, ist der Ordner automatisch dabei. Versionierung inbegriffen.
Einschränkung: Time Machine sichert nur lokal/USB. Für off-site-Backup separat sorgen.
C · Cron-Job (täglich automatisch)
# In ~/Library/LaunchAgents/com.rapport.backup.plist hinterlegen
# oder als crontab-Eintrag:
0 22 * * * rsync -a "$HOME/Library/Application Support/com.rapport.app/" \
"$HOME/Backups/rapport/$(date +\%Y\%m\%d)/"D · iCloud Drive (off-site)
Application-Support liegt nicht automatisch in iCloud. Wer das will:
# Symlink anlegen
mkdir -p "~/iCloud Drive/Rapport"
ln -s "~/Library/Application Support/com.rapport.app" "~/iCloud Drive/Rapport/data"Achtung: iCloud-Sync mit aktiver App kann zu Race-Conditions führen. Besser den Sync zeitversetzt (z. B. nachts via Cron).
Wiederherstellung
Vollständig (Rapport komplett tot)
- Rapport beenden (Cmd+Q, nicht nur Fenster zu)
- Aktuellen Ordner umbenennen (falls noch da):
mv "~/Library/Application Support/com.rapport.app" \ "~/Library/Application Support/com.rapport.app.bak" - Backup-Ordner zurück kopieren:
cp -R "~/Documents/Rapport-Backup-20260523" \ "~/Library/Application Support/com.rapport.app" - Rapport starten
Selektiv (nur einzelne Daten)
Da alle Daten in einem JSON unter studio_data_v1 liegen, ist selektive Wiederherstellung manuell:
- Backup-
localStorage-Datei öffnen (WebKit-Format → mit Tool wie [WebKit Storage Inspector] lesen, oder via Rapport DevTools) - Gewünschte Felder in die aktuelle Instanz übertragen
In der Praxis: meistens lohnt sich die vollständige Wiederherstellung mehr.
Export-Funktionen (in der App)
Aus Rapport selbst:
| Was | Wo | Format |
|---|---|---|
| Zeit-Auswertung | Zeit → Export | CSV |
| Rechnung | Rechnung → PDF | PDF (inkl. QR) |
| Offerte | Offerte → PDF | |
| Lohnabrechnung | Mitarbeiter → PDF | |
| Jahres-Buchhaltung | Buchhaltung → Export | CSV |
Die Exports sind für externe Verwendung (Buchhalter, Treuhänder, Archiv) gedacht — kein Full-Backup.
Schema-Migrationen
Bei Updates kann sich das Datenformat ändern. Rapport hat einen Migrations-Mechanismus: beim Start prüft die App, ob das gespeicherte Format dem aktuellen entspricht, und migriert es automatisch.
Code: src/storage/migrations.js.
Empfehlung: Vor jedem grösseren Update ein Backup machen — Migrationen sind getestet, aber 100%-Sicherheit gibt es nicht.
Was wird nicht gespeichert?
- WebView-Cache —
~/Library/Caches/com.rapport.app/und~/Library/WebKit/com.rapport.app/sind sicher zu löschen (UI-Caches, regenerieren sich) - App-Updates — werden bei Bedarf erneut runtergeladen
- Logs —
~/Library/Logs/com.rapport.app/(geplant, derzeit nicht geschrieben)
Datenmenge
Typische Grössen pro Bürojahr:
| Inhalt | Grösse |
|---|---|
| Logo (PNG/SVG) | 50 KB – 1 MB |
| 1 Jahr Zeiterfassung (1 MA) | ~ 80 KB |
| 1 Jahr Zeiterfassung (5 MA) | ~ 400 KB |
| 50 Projekte mit je 5 Rechnungen | ~ 800 KB |
| Total typisches Solo-Büro / Jahr | ~ 1–2 MB |
localStorage hat Limits (i. d. R. ~10 MB pro Origin). Für Solo-Büros reicht das problemlos für viele Jahre. Wer das Limit erreicht oder im Team arbeitet → Rapport Server.