Skip to main content

v0 / Vercel: Parallel Frontends (Website, Signage, Companion)

Target Audience: Editorial Team, IT, and v0 Developers.


Principle: Cockpit Remains — v0 is Added

cockpitOS will continue to operate its own frontends on *.cockpit-os.de. v0/Vercel is an additional channel for layout/UI — not a replacement.

InterfaceCockpit Channel (remains)Additional v0/Vercel
Center WebsitePreview preview.cockpit-os.de/{slug}, Custom Domain (Website Tab)Optional Vercel Project, same API
Signage / Kiosk{center}.signage.cockpit-os.dee.g. signage-xyz.vercel.app
Companion / NOW!Signage-Origin + /companion…same or own Vercel URL

Data & API for all channels: https://dashboard.cockpit-os.de (NEXT_PUBLIC_DASHBOARD_URL).

┌─────────────────────────┐
│ dashboard.cockpit-os.de │
│ (Content, APIs, CMS) │
└───────────┬─────────────┘

┌───────────────────────┼───────────────────────┐
│ │ │
▼ ▼ ▼
Cockpit Website Cockpit Signage v0/Vercel
preview + Domain *.signage… (optional,
(existing) (existing) per area)

Editorial Team: As Little Manual Work as Possible (v0-first)

Principle: The editorial team starts in v0 (Instructions A–I + D). Content is sent to Cockpit via MCP. After Vercel deployment, the project self-reports to Cockpit (Part J).

StepWhoWhat Happens
1EditorialBuild in v0 + Content (Shops, News, …) — Part D → Cockpit
2IT (once)Vercel: Register Token + /api/cockpit-register + Deploy Hook
3SystemAfter deploy: Cockpit automatically knows Live URL
4LiveChanges in v0-Chat or Cockpit — same DB, Auto-Revalidate

Dashboard Frontend Channels = Status/Fallback under Website Management → Frontend Channels (v0), not the main path.

API: POST /api/public/frontend-deployments/register · MCP: cockpit_register_frontend_deployment


Dashboard: Frontend Channels (One Place)

Website Management → Frontend Channels (v0)/dashboard/website/frontend-channels

  • Website (v0), Signage (v0), Companion (v0) — all in one place
  • Cockpit Channels (Preview, Custom Domain, *.signage.cockpit-os.de) for information only
  • Not dispersed under Companion, Signage, or Center Website tabs anymore

Custom Domains for the Website continue in the Center → Website tab (Cockpit Hosting).

API: GET/PATCH /api/centers/{centerId}/signage-public-urls (Website + Signage + Companion).
Connection Test: POST …/signage-public-urls/test-connection.


What Works in Parallel

  • Same Content on Cockpit Website and v0 Website (Shops, News, Plans, …)
  • Cockpit Signage and v0 Kiosk at the same Center
  • Analytics: Umami/Tracking per Center — also from Vercel Origins, if integrated
  • Handoff QR-Sessions: POST /api/public/handoff-sessions — visible in the Dashboard regardless of the frontend host

v0 Checklist

Always:
NEXT_PUBLIC_DASHBOARD_URL=https://dashboard.cockpit-os.de

Website (v0):
Center Resolution: by-domain OR ?center=slug (Preview)
Optionally in the Dashboard: enter websitePublicUrl

Signage (v0):
/kiosk + /companion in the same project (Handoff)
POST /api/public/handoff-sessions → sessionKey
Optionally: signagePublicUrl / companionPublicUrl in the Dashboard

Do Not:
Use Cockpit URLs as API base
Assume that v0 will shut down Cockpit hostings

Statistics

ChannelVisible in CockpitVisible in v0 when …
Website UmamiWebsite Tab / Tracking Configpublic-visitor-surface → tracking integrated
Companion/Kiosk GlobalDigital Signage → AnalyticsUmami app=companion + center_id in Events
Handoff SessionsCompanion → QR SessionsPOST /api/public/handoff-sessions
Usage EventsReportingPOST /api/analytics/usage-events

See Also

Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /en/digital-signage/v0-vercel-hosting-dashboard-statistik