kumiko.rocks beta
PublicStatus

Showcase · live in production

PublicStatus.
Built end-to-end on Kumiko.

Self-hostable Atlassian Statuspage alternative with uptime monitoring, custom domains, white-label branding and GDPR-compliant email subscribe. Multi-tenant, realtime via SSE, full audit-trail via event-sourcing. We use it ourselves for status.kumiko.rocks. Live customer traffic at publicstatus.eu.

Why this showcase matters

  • Audit baked in: Component + incident lifecycle as events. Every status change reconstructible — timeline replay for compliance and postmortems.
  • Uptime monitoring included: Availability and response time over 30 days per monitor — no separate Pingdom subscription required.
  • Custom domain + white-label: status.yourcompany.com with DNS verification, logo and colors in admin — tenants see their brand, not ours.
  • Realtime + GDPR subscribe: SSE for live updates on the public page. Email subscribe with double-opt-in and one-click unsubscribe — from delivery + jobs.
demo.publicstatus.eu
PublicStatus tenant status page — component states and an active incident
Visit publicstatus.eu →
publicstatus.eu · Uptime
PublicStatus uptime monitor — availability and response time over 30 days

How it's built

Status page, monitoring and branding — one feature graph.

defineFeature("publicstatus", …)

Component + incident lifecycle

Component CRUD, incident open / post-update / resolve, maintenance schedule. Each transition emits an event — full timeline reconstructible.

Uptime monitors + SSE

Monitoring + realtime updates

HTTP checks with availability and latency history. Public-page subscribers see status changes within milliseconds via Redis pub/sub — no client polling.

Subdomain + custom domain

Multi-tenant routing

acme.publicstatus.eu → tenant Acme. admin.publicstatus.eu → admin shell. Custom domain with DNS verification in admin — all in one Bun server.

Branding + delivery

White-label + subscriber notifications

Logo, colors and page title per tenant. Email subscribe with double-opt-in, one-click unsubscribe. BullMQ jobs for delivery, retry, dead-letter — from bundled-features.

Hosting reality

One Hetzner CAX21 (~€10/month). Postgres + Redis + Meilisearch in Docker on the same box. SSL via Caddy. Customer status pages on subdomains. Real production traffic, real SaaS customers.

If we built this — your tool too.

Asset tracker, helpdesk, CRM, internal portal — same framework, same multi-tenant, same audit, same on-prem option.