# GerbilManager — Betriebsanleitung (Ops Guide) _Für Julian und seine Frau. Alles Wichtige auf einer Seite._ --- ## Schnellstart ### Erstmalige Einrichtung (einmalig, als Administrator) ```powershell # 1. Autostart bei Windows-Anmeldung registrieren powershell -ExecutionPolicy Bypass -File deploy\scripts\Register-AutoStart.ps1 # 2. Taeliches Backup um 03:00 Uhr registrieren powershell -ExecutionPolicy Bypass -File deploy\scripts\Register-BackupTask.ps1 ``` Danach startet GerbilManager automatisch nach jedem Neustart. Fertig. --- ### App manuell starten / stoppen ```powershell # Starten (minimiertes Fenster) powershell -ExecutionPolicy Bypass -File deploy\scripts\Start-GerbilManager.ps1 # Stoppen powershell -ExecutionPolicy Bypass -File deploy\scripts\Stop-GerbilManager.ps1 ``` ### App im Browser öffnen | Gerät | URL | |---|---| | Laptop (lokal) | http://localhost:5173 | | Handy / anderes Gerät im WLAN | http://192.168.2.124:5173 | > Die IP-Adresse (192.168.2.124) ist die aktuelle DHCP-Adresse des Laptops. > Für eine stabile Adresse → Abschnitt "Feste IP-Adresse" weiter unten. --- ## Datensicherung (Backup) Backups werden automatisch täglich um 03:00 Uhr nach `C:\gerbil-data\backups\` gesichert. Jedes Backup enthält: - `gerbilmanager_.sql` — kompletter Datenbankdump - `photos_.zip` — alle Tierfotos Die letzten **7 Tage** werden aufbewahrt; ältere Backups werden automatisch gelöscht. ### Backup manuell ausführen ```powershell powershell -ExecutionPolicy Bypass -File deploy\scripts\Backup-GerbilManager.ps1 ``` ### Backup-Protokoll einsehen ``` C:\gerbil-data\backups\backup.log ``` --- ## Wiederherstellung aus Backup > **Achtung:** Alle aktuellen Daten werden überschrieben! ```powershell # Neuestes Backup wiederherstellen (fragt vorher nach Bestätigung) powershell -ExecutionPolicy Bypass -File deploy\scripts\Restore-GerbilManager.ps1 # Bestimmtes Backup wiederherstellen powershell -ExecutionPolicy Bypass -File deploy\scripts\Restore-GerbilManager.ps1 ` -BackupDir "C:\gerbil-data\backups\2026-06-05_03-00" ``` --- ## Feste IP-Adresse (empfohlen) Damit das Handy immer dieselbe URL verwendet, sollte dem Laptop eine feste IP-Adresse im Heimnetzwerk zugewiesen werden. ### Option A: DHCP-Reservierung im Router (empfohlen) 1. Router-Oberfläche öffnen (meist `http://192.168.2.1` oder `http://fritz.box`) 2. **Heimnetz → Netzwerk → IP-Adressen** (bei FRITZ!Box) 3. Den Eintrag für diesen Laptop suchen (Name: `GULUM-...` oder ähnlich) 4. **"Immer dieselbe IPv4-Adresse zuweisen"** aktivieren 5. Speichern. Ab sofort hat der Laptop immer 192.168.2.124. ### Option B: Statische IP direkt am Laptop setzen ```powershell # Netzwerkadaptername ermitteln Get-NetAdapter # Feste IP setzen (Beispiel fuer WLAN-Adapter "Wi-Fi") New-NetIPAddress -InterfaceAlias "Wi-Fi" -IPAddress 192.168.2.124 -PrefixLength 24 -DefaultGateway 192.168.2.1 Set-DnsClientServerAddress -InterfaceAlias "Wi-Fi" -ServerAddresses 192.168.2.1 ``` --- ## Firewall-Regel (für Handy-Zugriff) Damit das Handy auf die App zugreifen kann, muss eine Firewall-Ausnahme eingerichtet sein. Das WLAN "Katzastrophe 4" ist als **Public** eingestuft, daher ist der Befehl nötig: ```powershell # Als Administrator ausführen: New-NetFirewallRule ` -DisplayName "GerbilManager (Frontend + API)" ` -Direction Inbound ` -Action Allow ` -Protocol TCP ` -LocalPort 5173,5179 ` -Profile Any ``` > **Einmalig nötig.** Prüfen ob die Regel bereits existiert: > `Get-NetFirewallRule -DisplayName "GerbilManager*"` --- ## Datenspeicherorte | Was | Pfad | |---|---| | Tierfotos | `C:\gerbil-data\photos\` | | Datenbank | Docker-Volume (automatisch, Aspire-verwaltet) | | Backups | `C:\gerbil-data\backups\` | | App-Quellcode | `C:\Users\gulum\dev\GerbilManager\` | --- ## Voraussetzungen (für Betrieb) | Software | Mindestversion | Status prüfen | |---|---|---| | Docker Desktop | Aktuell, läuft | `docker ps` | | .NET SDK | 10.0+ | `dotnet --version` | | Node.js | 18+ | `node --version` | Docker Desktop muss beim Windows-Start automatisch starten. Einstellung: Docker Desktop → Settings → **Start Docker Desktop when you sign in**. --- ## Problemlösung | Problem | Lösung | |---|---| | Seite lädt nicht | Prüfen ob Docker läuft: `docker ps`. Dann `Start-GerbilManager.ps1` | | Handy erreicht App nicht | Firewall-Regel prüfen (oben). Beide Geräte im selben WLAN? | | Daten verschwunden | Wiederherstellung: `Restore-GerbilManager.ps1` | | Datenbank-Fehler beim Start | `docker ps` → Postgres-Container läuft? Sonst neu starten | | Port belegt (Fehler 5179/5173) | `netstat -ano \| findstr ":5179"` → Prozess beenden | --- ## Backup testen (einmalig empfohlen) ```powershell # 1. Backup erstellen powershell -ExecutionPolicy Bypass -File deploy\scripts\Backup-GerbilManager.ps1 # 2. Prüfen ob Backup vorhanden Get-ChildItem "C:\gerbil-data\backups\" -Directory | Select-Object -Last 3 # 3. Inhalt des neuesten Backups prüfen $latest = (Get-ChildItem "C:\gerbil-data\backups\" -Directory | Sort-Object LastWriteTime -Desc | Select-Object -First 1).FullName Get-ChildItem $latest ```