Status Pages

Status pages let you share a public uptime page with your users or team. You pick which health checks to show, style it to match your brand, and optionally put it on a custom domain.

Creating a status page

Go to Admin → Status Pages and hit New Status Page. Give it a name and a slug (so my-service makes it available at /status/my-service). You can set it public or private, where private pages need a login to view.

Editing a status page

Click a status page from the list to open the edit view. From here you can tweak:

  • Checks: search for health checks and add them to the page. Drag to reorder, and the order you set is the order visitors see.
  • Logo: upload a logo (PNG, JPG, GIF, WebP, or SVG) for the top of the page. Square images look best.
  • Custom domain: point your own domain at the page. Enter the domain and Perch shows you the DNS record to add, then hit Verify to confirm it’s resolving. With a custom domain set, the page serves at the root (/) of that domain.
  • Theme: color pickers for accent, background, and text, a font selector (pulled from Google Fonts), and a custom CSS field if you want to take it further.
  • Preview: a live iframe preview updates as you change settings, so you can see exactly how it looks before saving.

Public view

The public page at /status/your-slug (or your custom domain) shows:

  • Your logo, if you uploaded one
  • Each assigned health check with its current status and heartbeat bars
  • No Perch branding getting in the way of your content

Note

The page doesn’t auto-refresh yet, so visitors reload to see updates. Live updates are on the roadmap.

Custom domains

To serve a status page on your own domain (say status.yourcompany.com):

Add the domain

Drop it into the Custom Domain field on the edit page.

Point DNS at the hub

Add a CNAME record pointing to your Perch hub’s domain, or an A record pointing to its IP.

Verify it

Hit Verify DNS and Perch checks that the domain resolves and points to the hub.

Route it through your proxy

Make sure your reverse proxy sends traffic for that domain to the hub. The Traefik and Caddy guides both cover this.

Once it’s verified and saved, anyone hitting status.yourcompany.com gets your status page.

Tip

With a custom domain set, the slug field locks on the edit page. The slug still works at /status/your-slug, but the custom domain takes priority for public sharing.