v0 / Vercel: Parallele Frontends (Website, Signage, Companion)
Zielgruppe: Redaktion, IT und v0-Entwickler.
Grundsatz: Cockpit bleibt — v0 kommt dazu
CockpitOS betreibt weiterhin eigene Frontends auf *.cockpit-os.de. v0/Vercel ist ein zusätzlicher Kanal für Layout/UI — kein Ersatz.
| Oberfläche | Cockpit-Kanal (bleibt) | Zusätzlich v0/Vercel |
|---|---|---|
| Center-Website | Preview preview.cockpit-os.de/{slug}, Custom Domain (Website-Tab) | Optionales Vercel-Projekt, gleiche API |
| Signage / Kiosk | {center}.signage.cockpit-os.de | z. B. signage-xyz.vercel.app |
| Companion / NOW! | Signage-Origin + /companion… | gleiche oder eigene Vercel-URL |
Daten & API für alle Kanäle: https://dashboard.cockpit-os.de (NEXT_PUBLIC_DASHBOARD_URL).
┌─────────────────────────┐
│ dashboard.cockpit-os.de │
│ (Inhalte, APIs, CMS) │
└───────────┬─────────────┘
│
┌───────────────────────┼───────────────────────┐
│ │ │
▼ ▼ ▼
Cockpit-Website Cockpit-Signage v0/Vercel
preview + Domain *.signage… (optional,
(bestehend) (bestehend) pro Fläche)
Redaktion: So wenig Handarbeit wie möglich (v0-first)
Grundsatz: Redaktion startet in v0 (Instructions A–I + D). Inhalte landen per MCP im Cockpit. Nach Vercel-Deploy meldet sich das Projekt selbst ans Cockpit (Teil J).
| Schritt | Wer | Was passiert |
|---|---|---|
| 1 | Redaktion | In v0 bauen + Inhalte (Shops, News, …) — Teil D → Cockpit |
| 2 | IT (einmalig) | Vercel: Register-Token + /api/cockpit-register + Deploy Hook |
| 3 | System | Nach Deploy: Cockpit kennt Live-URL automatisch |
| 4 | Live | Änderungen in v0-Chat oder Cockpit — gleiche DB, Auto-Revalidate |
Dashboard Frontend-Kanäle = Status/Fallback unter Website-Management → Frontend-Kanäle (v0), nicht der Hauptweg.
API: POST /api/public/frontend-deployments/register · MCP: cockpit_agencyos_register_frontend_deployment
Dashboard: Frontend-Kanäle (ein Ort)
Website-Management → Frontend-Kanäle (v0) — /dashboard/website/frontend-kanaele
- Website (v0), Signage (v0), Companion (v0) — alles an einer Stelle
- Cockpit-Kanäle (Preview, Custom Domain,
*.signage.cockpit-os.de) nur zur Info - Nicht mehr unter Companion-, Signage- oder Center-Website-Reitern verteilt
Custom Domains der Website weiter im Tab Center → Website (Cockpit-Hosting).
API: GET/PATCH /api/centers/{centerId}/signage-public-urls (Website + Signage + Companion).
Verbindungstest: POST …/signage-public-urls/test-connection.
Was parallel funktioniert
- Gleiche Inhalte auf Cockpit-Website und v0-Website (Shops, News, Plan, …)
- Cockpit-Signage und v0-Kiosk am selben Center
- Analytics: Umami/Tracking pro Center — auch von Vercel-Origins, wenn eingebunden
- Handoff QR-Sessions:
POST /api/public/handoff-sessions— sichtbar im Dashboard unabhängig vom Frontend-Host
v0 Checkliste
Immer:
NEXT_PUBLIC_DASHBOARD_URL=https://dashboard.cockpit-os.de
Website (v0):
Center-Auflösung: by-domain ODER ?center=slug (Preview)
Optional im Dashboard: websitePublicUrl eintragen
Signage (v0):
/kiosk + /companion im selben Projekt (Handoff)
POST /api/public/handoff-sessions → sessionKey
Optional: signagePublicUrl / companionPublicUrl im Dashboard
Nicht:
Cockpit-URLs als API-Basis verwenden
Annehmen, dass v0 die Cockpit-Hostings abschaltet
Statistik
| Kanal | Cockpit sichtbar | v0 sichtbar wenn … |
|---|---|---|
| Website Umami | Website-Tab / Tracking-Config | public-visitor-surface → tracking eingebunden |
| Companion/Kiosk global | Digital Signage → Analytics | Umami app=companion + center_id in Events |
| Handoff-Sessions | Companion → QR-Sessions | POST /api/public/handoff-sessions |
| Usage-Events | Reporting | POST /api/analytics/usage-events |
Siehe auch
Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /en/digital-signage/v0-vercel-hosting-dashboard-statistik