Custom status page

Logdash gives you two kinds of custom status page: the hosted page on your own subdomain through one CNAME to statuspage.logdash.io on Pro, or a page you build yourself on the public API, on any domain and any plan.

"Custom" means one of two things. Either the page lives on your domain, so customers see status.yourapp.com instead of a vendor URL. Or the page looks like your product, in your fonts and colours. Logdash does both, by two different routes: the domain on Pro, the design on every plan.

Status page custom domain: the hosted route

On Pro, open the status page in Logdash, enter a subdomain such as status.example.com and add one DNS record. Logdash looks for it every 5 seconds. Once the CNAME points at statuspage.logdash.io, the domain is verified, the page is served there over HTTPS, and the status page API accepts the domain in place of the id.

# The record, in any DNS provider
# Type   Name     Target
# CNAME  status   statuspage.logdash.io

# Check it from your machine before Logdash does
dig +short CNAME status.example.com
# statuspage.logdash.io.

Verification gives up after 60 attempts, about 5 minutes. If the record was not there in time, the domain is marked failed: fix the DNS, delete the domain and add it again. On the hosted page you choose its name and which monitors it shows. Fonts, colours and layout are fixed.

Cloudflare custom status page

If your DNS is on Cloudflare, create the record as DNS only, the grey cloud. A proxied record answers with Cloudflare IP addresses, so the CNAME lookup never sees statuspage.logdash.io and verification fails. Paid zones can also flatten every CNAME, so check that setting is off. If you would rather build the page on Cloudflare itself, cf-workers-status-page is the known open source option, though it has not had a commit in about three years.

Custom design: the build-your-own route

Every published page is also JSON at the public status page API, with no key, on every plan. The quickest way to render it is the shadcn component, which takes your Tailwind theme through the shadcn CSS variables:

npx shadcn add https://logdash.io/r/react/status-page.json

Deploy the result anywhere, on any domain. Logdash never needs to know which one, so this is also the way to a custom domain without Pro. For a complete site, the Next.js starter deploys to Vercel in one click. Either way, host it apart from your app: a page that shares servers or DNS with the app goes down with it.

Which route to pick

Pick the hosted route when the page just needs to exist and you are already on Pro: one record, nothing to deploy, nothing to update. Pick your own build when the page is part of your brand, when you want status inside your app, or when you are on the free or Builder plan. Both read the same checks, so you can start hosted and move to your own build later without losing a day of history.

Logdash vs Uptime Kuma

FeatureLogdashUptime Kuma
Your own domainPro plan, one CNAMEFree, through your reverse proxy
HTTPS on that domainHandled by LogdashYour reverse proxy and certificate
Custom designAny design through the API, component or starterCustom CSS on the Kuma layout
Incidents and maintenanceNoneBoth built in

When Uptime Kuma is the better pick

  • You want the hosted page on your own domain for free and already run a reverse proxy.
  • You post incidents and maintenance notices. Logdash pages show checks only.
  • Monitoring has to stay inside your own network.

Set it up

  1. Pick a route Hosted page on Pro with one CNAME, or your own build on any plan, including the free one.
  2. Point DNS CNAME the subdomain to statuspage.logdash.io, DNS only on Cloudflare, or to wherever you deployed your own build.
  3. Test the alert Connect Telegram, then stop one monitored service. Your status subdomain shows it within a few minutes, but the Telegram alert reaches you first, with the monitor name and status code.
What is a custom status page?
A status page on your own domain, in your own design, or both. Logdash covers the domain with a CNAME on Pro, and the design with a public API, an MIT component and a Next.js starter on any plan.
How do I set up a status page custom domain?
On Pro, enter the subdomain on the status page in Logdash, then add a CNAME from it to statuspage.logdash.io. Logdash checks every 5 seconds for about 5 minutes and serves the page over HTTPS once the record resolves. If it fails, fix the record, delete the domain and add it again.
How do I make a Cloudflare custom status page work?
Set the CNAME to DNS only, the grey cloud, and make sure CNAME flattening is off for it. With the orange cloud on, Cloudflare answers with its own IP addresses and the CNAME check fails.

Point it at your own URL and watch it for real.