karim 94a1617519 v0.1.2 - Update-Modal mit Live-Progress + Error-Display
- AppUpdateBanner: dialog statt window.confirm, full Modal-Overlay
- 3 Steps visualisiert: Pre-Backup -> Download -> Installation
  mit animierten Icons (radio_button -> progress_activity (spin) -> check_circle)
- Live-Download-Progress: 'X.X MB / Y.Y MB (NN%)'
- Errors fett im Modal sichtbar mit pre-formatierter Stack
- Console.log fuer jeden Schritt fuer DevTools-Debugging
2026-05-24 18:19:50 +02:00
2026-05-24 18:15:09 +02:00

RAPPORT Server-App

Tauri-Admin-UI für den Rapport-Stack. Eine native Mac/Linux/Windows-App, die den kompletten Rapport-Server (Postgres, GoTrue, PostgREST, Realtime, Storage, Kong, Frontend) als Docker-Compose-Stack startet, überwacht und administriert — lokal mit Native-UI und im LAN über HTTPS-WebUI.

Status

Pre-Alpha, aber funktional. Service-Lifecycle, Live-Logs, TLS-WebUI und Tray-Modus laufen. Backup/Restore ist Placeholder. Auto-Updater ist verdrahtet, aber nicht aktiv (kein Signing-Key).

Was die App ist

  • Admin-UI auf dem Server-Mac: Status-Dashboard für alle 7 Services, Live-Log-Tail, Start/Stop pro Service oder bulk, Settings-Editor für config.env.
  • HTTPS-WebUI im LAN: dieselbe UI vom Browser eines anderen Geräts aus. Self-signed Cert, Basic-Auth mit Brute-Force-Lockout. Wichtig für headless Mac-Mini-Deployments ohne Bildschirm.
  • Tray-Wrapper: Fenster schliessen reduziert in den System-Tray; Services laufen weiter. Quit nur über Tray-Menü.
  • Compose-Wrapper, kein eigener Container-Runtime: die App ruft docker compose gegen den SERVER-CONTAINER-Stack auf. Die Compose-Datei und das .env sind die Source-of-Truth — Änderungen dort werden automatisch übernommen.

Was die App nicht ist

  • "Doppelklick statt Docker" — diese ursprüngliche Idee ist verworfen. Native Service-Binaries gibt's für die meisten Supabase-Komponenten nicht (Realtime/Erlang, Storage/Node, etc.). Pragmatik schlägt Vision: wir setzen einen lokalen Docker-Daemon (OrbStack, Colima oder Docker Desktop) voraus und liefern dafür die polierte UI obendrauf.

Voraussetzungen

Komponente Hinweis
Docker-CLI + Daemon OrbStack oder Colima (beide Mac-nativ, Colima ist Apache 2.0 / open source). brew install docker colima && colima start reicht.
SERVER-CONTAINER-Repo geklont Default-Suchpfad: ~/RAPPORT/SERVER-CONTAINER/. Override via COMPOSE_DIR=... in config.env.
Node ≥ 20, Rust ≥ 1.77 nur fürs Bauen aus Source, nicht für den Endnutzer.

Lokal starten

npm install
npm run tauri:dev

Beim ersten Klick auf "Alle starten" pullt Compose die Images (~700 MB). Danach geht's instant.

Bundle

npm run tauri:build

Output unter src-tauri/target/release/bundle/. Code-Signing ist noch nicht konfiguriert.

WebUI-Zugriff (für headless)

  • URL lokal: https://127.0.0.1:9090
  • URL im LAN: https://<hostname>.local:9090
  • User: admin, Passwort steht in config.env (ADMIN_UI_PASSWORD, auto-generiert beim Erst-Start)
  • Browser warnt vor dem self-signed Cert → einmal akzeptieren

LAN-Freigabe ist standardmässig aus — in der App unter Settings → Admin-WebUI explizit aktivieren.

Konfiguration

Alles in <DATA>/config.env (auf macOS: ~/Library/Application Support/com.rapport.server-app/config.env, chmod 600). Wichtige Keys:

Key Bedeutung
POSTGRES_PASSWORD, JWT_SECRET Stack-Secrets (auto-generiert)
ADMIN_UI_BIND 127.0.0.1 (default) oder 0.0.0.0 für LAN
ADMIN_UI_PORT Default 9090
ADMIN_UI_TLS true (default) oder false
ADMIN_UI_PASSWORD Random; via Settings-UI anzeigbar/änderbar
COMPOSE_DIR Pfad zum SERVER-CONTAINER-Verzeichnis (nur nötig wenn nicht in ~/RAPPORT/SERVER-CONTAINER/)

Bezug zu anderen Rapport-Repos

Repo Rolle
RAPPORT Desktop-Client für Endnutzer (Tauri, JSX)
RAPPORT-SERVER-CONTAINER Der Compose-Stack — Source-of-Truth für DB-Schema und Service-Config
RAPPORT Server-App (dieses Repo) Polished UI über dem Compose-Stack — lokal + LAN-WebUI
RAPPORT-WEBSITE Marketing- & Doku-Site

Lizenz

GNU AGPL-3.0-or-later — identisch zur restlichen Rapport-Familie.

S
Description
Tauri-Admin-UI fuer Rapport-Server
Readme 282 KiB
2026-05-24 18:14:51 +02:00
Languages
Rust 62.7%
JavaScript 24.8%
CSS 7.5%
Shell 4.8%
HTML 0.2%