- Auto-Start beim Boot skipped wenn Daemon nicht erreichbar (Wizard erscheint, statt Recovery-Loop-Spam) - Auto-Recovery skipped wenn Daemon down — keine Counter-Vergeudung - start_all/stop_all/restart_all geben Supervisor-Mutex waehrend langem 'docker compose up' frei → UI bleibt waehrend Container- Start responsive, kein 'Keine Services registriert' mehr - tick_health behaelt Starting-State wenn Container noch nicht in compose ps auftaucht (kein Flackern Stopped/Starting) - Container-State-Cache mit Timeout-Fallback in list_services - Setup-Wizard triggert keinen Auto-Start mehr nach Install — User klickt bewusst 'Alle starten' - Setup-Wizard: kein Brew mehr, Direct-Downloads von docker.com + GitHub fuer Docker/Colima/Lima - Compose-Stack-Auto-Download von Gitea-Tarball wenn lokal nichts da - .env-Generation mit JWT-signierten ANON/SERVICE-Keys - Lima share-Layout: ~/.rapport/share/ statt /lima-share/
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 composegegen denSERVER-CONTAINER-Stack auf. Die Compose-Datei und das.envsind 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 inconfig.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.