Operations Logs

Strukturierte Sicht auf OperationalErrors, AuditEvents, SupportTickets und DeviceTelemetry.

RC Ohne Payment/Shipping

Kompakte Sicht fuer die Live-Freigabe. Pflichtpfade sind MinIO/S3, geschuetztes Portal, Browser-Kiosk, Templates, Customer/Gallery und Operations Logs. Shipping und Payment bleiben bewusst mock.

RC Statusprüfen
Storage-unbekannt
Shippingmockmock
Paymentmockmock
Pflichtprofile0/2MacBook + iPad freigegeben
Naechste Abnahmeaktionmacbook-browser: Field Run auf Zielgeraet ausfuehren: Kiosk auf dem echten Zielgeraet oeffnen, Kamera-Test, Session-Probe, Queue Sync und Operator-Freigabe senden.
macbook-browser · fehltStatus missing · Quelle - · Field Run fehltNoch keine echte Zielgeraete-Evidence fuer dieses Pflichtprofil.
ipad-browser · fehltStatus missing · Quelle - · Field Run fehltNoch keine echte Zielgeraete-Evidence fuer dieses Pflichtprofil.
RC Gatepnpm acceptance:release-candidate erwartet S3-kompatiblen Storage, Shipping/Payment mock, hoechstens 7 Tage alte freigegebene MacBook- und iPad-Browser-Field-Runs mit Storage `s3-compatible`, `Event startklar=go`, `Sellable Gate=go`, Customer/Gallery, Retention und Tenant/Auth-Grenzen.
Browser-AbnahmeCustomer Wizard, Admin Operations/Mock-Shipping/Templates, Gallery Lead/Download und Kiosk Session separat pruefen.

Storage Health

Storage Health nicht verfügbar.

Naechste Abnahmeaktionen

Diese Liste uebersetzt die RC-Pflichtprofil-Matrix in konkrete Vor-Ort-Schritte fuer Operator und Service.

macbook-browser: Field Run auf Zielgeraet ausfuehrenKiosk auf dem echten Zielgeraet oeffnen, Kamera-Test, Session-Probe, Queue Sync und Operator-Freigabe senden.Abnahme-Kontext oeffnen
ipad-browser: Field Run auf Zielgeraet ausfuehrenKiosk auf dem echten Zielgeraet oeffnen, Kamera-Test, Session-Probe, Queue Sync und Operator-Freigabe senden.Abnahme-Kontext oeffnen

Vor-Ort Runbook

Verbindlicher Ablauf fuer die letzte Mietbox-Abnahme vor Kundeneinsatz. Die Schritte werden danach als Field-Run-Evidence in Admin gespeichert.

1. MacBook-Kiosk oeffnenhttps://kiosk.boothfleet.de im MacBook-Browser oeffnen, Service-PIN eingeben und Field Evidence starten.
2. Kamera erlauben und Testfoto ausloesenPermission erlauben, Live Preview pruefen, Testfoto speichern; Permission verweigern einmal als freundlichen Gastfehler kontrollieren.
3. Hotfolder/CUPS-Testdruck bestaetigenTestdruck ausloesen, Papierausgabe oder beobachtete Hotfolder-Ausgabe sehen und im Kiosk `2b Druck bestaetigen` setzen.
4. Session-Probe durchlaufenStart, Countdown, Blitz, Review/Retake, Processing, QR-5-Sekunden-Anzeige, Druckstatus und Gallery-Link kontrollieren.
5. Queue Sync und Operator-FreigabeQueue/Recovery klaeren, Operator-Entscheidung setzen und `5 Evidence senden`; Admin Field-Run-Detail muss Event startklar und Sellable Gate zeigen.
6. iPad-Browserprofil wiederholenAuf echtem iPad Kamera/LiveView/Gastflow pruefen; Druckpfad darf als separater Mac-Kiosk-Nachweis dokumentiert werden.

Mac-Kiosk Kommandozettel

Direkte Kommandos fuer Service oder Operator auf dem Ziel-Mac. Erst Preflight ausfuehren, dann Hotfolder- oder CUPS-Nachweis senden.

1. Preflight auf dem MacBookPrueft API/Kiosk-Erreichbarkeit, Browser-App, Hotfolder-Schreibtest, optional CUPS-Sichtbarkeit und gibt den passenden Field-Run-Befehl aus.PREFLIGHT_WRITE=1 DEVICE_HOTFOLDER_PATH=/Users/Shared/BoothFleet-Hotfolder API_BASE_URL=https://api.boothfleet.de KIOSK_URL=https://kiosk.boothfleet.de/ pnpm device:mac-preflight
2. Hotfolder-DrucknachweisPrueft vor dem finalen Field-Run Hotfolder-Schreibbarkeit, frische Ausgabedateien und optionalen Belegpfad. Warnt, wenn der Kiosk-Druck-Test noch fehlt.PRINT_PROOF_WRITE=1 DEVICE_PRINTER_ADAPTER=hotfolder DEVICE_HOTFOLDER_PATH=/Users/Shared/BoothFleet-Hotfolder pnpm device:mac-print-proof-preflight
3. Hotfolder-Field-Run sendenNimmt Kamera, Session, Galerie und physischen Drucknachweis als strukturierte Field-Run-Evidence auf.DEVICE_CAMERA_ADAPTER=browser DEVICE_PRINTER_ADAPTER=hotfolder DEVICE_HOTFOLDER_PATH=/Users/Shared/BoothFleet-Hotfolder pnpm --filter @photobox/device-kiosk field-run -- --mode=field-check --profile=macbook-browser --api-base-url=https://api.boothfleet.de --test-capture --test-print --run-session --require-sellable-evidence --send-diagnostics --export-report --browser-proof-permission-denied --browser-proof-liveview --browser-proof-test-photo --browser-proof-gallery-opened --confirm-physical-print --printer-proof-hotfolder --printer-proof-quality-ok --printer-proof-queue-cleared --operator-decision=go --printer-proof-artifact=/path/to/print-proof-photo-or-scan.jpg --printer-proof-note="Papierausgabe/Hotfolder/CUPS-Queue und Druckqualitaet vor Ort bestaetigt"
4. CUPS-DrucknachweisAlternative fuer einen lokal sichtbaren CUPS-Drucker. Echte Druckerarbeit bleibt optional, Hotfolder ist der erste Pflichtpfad.DEVICE_CAMERA_ADAPTER=browser DEVICE_PRINTER_ADAPTER=cups DEVICE_PRINTER_NAME=/printer/name pnpm --filter @photobox/device-kiosk field-run -- --mode=field-check --profile=macbook-browser --api-base-url=https://api.boothfleet.de --test-capture --test-print --run-session --require-sellable-evidence --send-diagnostics --export-report --browser-proof-permission-denied --browser-proof-liveview --browser-proof-test-photo --browser-proof-gallery-opened --confirm-physical-print --printer-proof-cups --printer-proof-quality-ok --printer-proof-queue-cleared --operator-decision=go --printer-proof-artifact=/path/to/print-proof-photo-or-scan.jpg --printer-proof-note="Papierausgabe/Hotfolder/CUPS-Queue und Druckqualitaet vor Ort bestaetigt"

Release-/Deploy-Handoff

Lokale Operator-Schritte fuer den aktuellen Live-Blocker. Der aktuelle Tailscale-Link steht in local-data/deploy/release-next.json und im Action Sheet; Secrets werden dabei nicht ausgegeben.

1. Release-Next JSON erzeugenSchreibt local-data/deploy/release-next.json mit aktuellem Tailscale-Link, Resume-Befehl, Field-Run-Kommandos, Volume-Checks und Vor-Ort-Checkliste.pnpm audit:release-next
2. Tailscale-Handoff fortsetzenLiest local-data/deploy/tailscale-auth-handoff.json, fuehrt nur freigegebene Handoff-Befehle aus und aktualisiert bei erneutem Tailscale-Blocker automatisch das Action Sheet.pnpm deploy:hetzner:resume
3. Voller Post-Auth-CheckNach Tailscale-Freigabe bewusst Deploy plus Cloud-Volume-Inventar, Kernel-Discovery, optional Volume-Preflight und Live-Smoke ausfuehren.HETZNER_RESUME_POST_AUTH=1 pnpm deploy:hetzner:resume
4. Nur Volume/Smoke pruefenNutzt den bestehenden Post-Auth-Pfad ohne App-Deploy, um das neu angehaengte Volume und den Live-Smoke nach Freigabe zu pruefen.PHOTOBOX_VOLUME_EXPECTED_ID=<new-id> HCLOUD_TOKEN_FILE=/etc/photobox/hcloud-token HETZNER_SERVER_PUBLIC_IP=178.104.130.206 pnpm deploy:hetzner:volume-check

Volume/Snapshot Betrieb

Aktueller Live-Befund: BoothFleet-Daten sind klein, aber das angehaengte Volume steht durch alte `root-snapshots` bei ca. 89% Nutzung. Diese Kachel uebersetzt den Smoke-Hinweis in sichere Operator-Schritte.

1. Smoke-Snapshotdruck prüfenDer Hetzner-Smoke meldet `disk-runtime.snapshotPressure`, wenn das BoothFleet-Volume durch ausgelagerte root-snapshots unter Druck steht. Das ist eine Operations-Warnung, kein App-Ausfall.
2. Nur Dry-Run ausführenZuerst Kandidatenliste ansehen. Der belegungsrelevante Live-Dry-Run 2026-06-09 fand mit `MIN_AGE_DAYS=0`, `KEEP_NEWEST=10`, `MAX_DELETE=10`, `SORT=size-desc` ca. 14.5G Rueckgewinn aus 10 alten Kandidaten. Diese Snapshots koennen zu SafeStage/BOS gehoeren und duerfen erst nach separater Freigabe geloescht oder extern archiviert werden.SNAPSHOT_PARENT=/mnt/HC_Volume_105918890/root-snapshots SNAPSHOT_MIN_AGE_DAYS=0 SNAPSHOT_KEEP_NEWEST=10 SNAPSHOT_MAX_DELETE=10 SNAPSHOT_SORT=size-desc pnpm deploy:snapshot-cleanup-plan
3. Loeschlauf nur nach expliziter FreigabeDiesen Befehl nicht als Routine-Schritt ausfuehren. Er ist nur die dokumentierte, bestaetigungspflichtige Variante desselben Plans, falls die Snapshot-/Archiventscheidung explizit gefallen ist. Der Helper verweigert Delete ohne `SNAPSHOT_MODE=delete`, ohne exakten Confirm-String und ausserhalb des erwarteten Snapshot-Parents.SNAPSHOT_PARENT=/mnt/HC_Volume_105918890/root-snapshots SNAPSHOT_MIN_AGE_DAYS=0 SNAPSHOT_KEEP_NEWEST=10 SNAPSHOT_MAX_DELETE=10 SNAPSHOT_SORT=size-desc SNAPSHOT_MODE=delete SNAPSHOT_CONFIRM=delete-root-bos-planner-snapshots pnpm deploy:snapshot-cleanup-plan
4. Geführte Volume-Triage ausführenBevor einzelne Volume-Befehle genutzt werden, diesen read-only Sammelpfad starten. Er prüft Cloud-/Kernel-Sicht, Volume-only-Smoke und schreibt einen lokalen JSON-Report, ohne zu mounten, zu formatieren oder Daten zu migrieren.PHOTOBOX_VOLUME_CURRENT_ID=105918890 HCLOUD_TOKEN_FILE=/etc/photobox/hcloud-token HETZNER_SERVER_PUBLIC_IP=178.104.130.206 pnpm deploy:volume:triage
5. Token/Volume-Preflight ausführenDieser read-only Sammelcheck prüft root-only Token-Datei-Rechte, lokale Kernel-Sichtbarkeit und gibt den passenden Cloud-/Discover-Handoff aus. Der Tokeninhalt wird nie ausgegeben.HCLOUD_TOKEN_FILE=/etc/photobox/hcloud-token HETZNER_SERVER_PUBLIC_IP=178.104.130.206 PHOTOBOX_VOLUME_EXPECTED_ID=<new-id> pnpm deploy:volume:preflight
6. Server-Token sicher installierenWenn der Hetzner-Token nur lokal vorliegt, diesen Installer nutzen. Default ist ein Plan; echte Installation braucht `HCLOUD_TOKEN_INSTALL_MODE=install` und den Confirm-String. Der Token wird ueber stdin an SSH uebergeben und nicht geloggt.HCLOUD_TOKEN_KEYCHAIN_SERVICE=auto HCLOUD_TOKEN_INSTALL_MODE=install HCLOUD_TOKEN_INSTALL_CONFIRM=install-boothfleet-hcloud-token pnpm deploy:hcloud-token:install
7. Volume-Onboarding planenBevor ein neues Volume gemountet wird, diesen read-only Orchestrator ausführen. Er ruft Preflight, Cloud-Check, Kernel-Discover, Attach-Plan, Mount-Dry-Run und Cutover-Plan in sicherer Reihenfolge auf.PHOTOBOX_VOLUME_MOUNT=/mnt/HC_Volume_<new-id> PHOTOBOX_VOLUME_EXPECTED_ID=<new-id> pnpm deploy:volume:onboard
8. Neues Volume gegenprüfenWenn ein neues Hetzner-Volume angehängt wurde, danach read-only über Hetzner Cloud prüfen, ob es wirklich am BoothFleet-Server hängt. Der Token bleibt serverseitig und kommt nicht ins Repo.HCLOUD_TOKEN_FILE=/etc/photobox/hcloud-token HETZNER_SERVER_PUBLIC_IP=178.104.130.206 PHOTOBOX_VOLUME_EXPECTED_ID=<new-id> pnpm deploy:cloud-volumes
9. Kernel-Rescan mit erwarteter IDErst wenn Cloud oder Panel die Bindung bestätigt, im Kernel mit der konkreten Volume-ID suchen. Ohne sichtbare Volume-ID nicht cutovern.PHOTOBOX_VOLUME_EXPECTED_ID=<new-id> VOLUME_DISCOVER_RESCAN=1 VOLUME_DISCOVER_CONFIRM=rescan-photobox-hetzner-volumes pnpm deploy:volume:discover
10. Auf neues Volume wartenWenn Hetzner das Volume gerade erst angehaengt hat, diesen read-only Poller nutzen. Optionaler Rescan braucht einen eigenen Confirm und bleibt ohne Mount, Format, Fstab oder Datenmigration.PHOTOBOX_VOLUME_EXPECTED_ID=<new-id> VOLUME_WAIT_RESCAN=1 VOLUME_WAIT_CONFIRM=wait-for-photobox-hetzner-volume pnpm deploy:volume:wait
11. Nach Tailscale-Freigabe komplett prüfenWenn Tailscale den SSH-Zusatzcheck freigegeben hat, diesen lokalen Wrapper laufen lassen. Er pusht/deployed den aktuellen main und prüft danach remote Volume-Discovery, optional Volume-Preflight und Live-Smoke.PHOTOBOX_VOLUME_EXPECTED_ID=<new-id> HCLOUD_TOKEN_FILE=/etc/photobox/hcloud-token HETZNER_SERVER_PUBLIC_IP=178.104.130.206 pnpm deploy:hetzner:post-auth-check

Live-Abnahmezettel

Diese Liste ist die konkrete Endkunden-/Mietbox-Abnahme. Jeder Punkt muss entweder im Browser beobachtet oder als Field-Run-/Admin-Evidence sichtbar sein.

1. MacBook-KioskZiel: https://kiosk.boothfleet.deNachweis: Browser-Kamera erlaubt/verweigert, LiveView, Testfoto, Countdown, Blitz, Review/Retake, QR mindestens 5 Sekunden, echter Gallery-Link.Go-Kriterium: Field Run `macbook-browser` mit Event startklar=go, Sellable Gate=go, Operator-Freigabe go und Storage s3-compatible.
2. Druckpfad MacZiel: Hotfolder/CUPS am Kiosk-MacNachweis: Testdruck, Papier- oder Hotfolder-Ausgabe, Druckqualitaet ok, Queue leer/erklaert, Reprint letzte Session.Go-Kriterium: Drucknachweis im Kiosk bestaetigt; Admin Field-Run zeigt Physisch ja, Proof passed und Hotfolder/CUPS Evidence.
3. iPad-KioskZiel: https://kiosk.boothfleet.deNachweis: iPad-Browserprofil, Kamera-Permission erlaubt/verweigert, LiveView, Testfoto, Gastflow und Gallery-Link.Go-Kriterium: Field Run `ipad-browser` mit Sellable Gate=go; Druck darf als separater Mac-Nachweis gelten.
4. Customer/PortalZiel: https://portal.boothfleet.deNachweis: Portal Basic Auth, Wizard reloadfaehig speichern, Branding/Logo, Template, Galerieoptionen, Lead/Consent, Preview.Go-Kriterium: Admin Event zeigt gespeicherte Customer-Settings; Gallery nutzt Branding ohne interne Objektpfade.
5. GalleryZiel: https://gallery.boothfleet.de/gallery/session/session-sommerfest-tokenNachweis: Pending/Ready, Passwort falls aktiv, Download, Share, Lead/Survey/Consent, Expired/Disabled Texte.Go-Kriterium: Admin Event/Device Detail zeigt Download-/Share-Audit und keine dauerhaften oeffentlichen Asset-URLs.
6. Admin FreigabeZiel: https://admin.boothfleet.de/operationsNachweis: Pflichtprofile frisch, Storage s3-compatible, Shipping mock, Payment mock, Field-Run-Exports, Operations Logs.Go-Kriterium: RC Status bereit; keine offene `Was fehlt bis Go?`-Aktion fuer MacBook oder iPad.

Field Runs (0)

Filter: Profil, Gerät, Status und Blocker. Evidence kommt aus Device Diagnostics und lokal exportierten JSON/Markdown-Reports.

Noch keine Field Runs gesendet.

Logs (0)

Keine Logs für diesen Filter.