Custom domains
How a published status page is hosted - on a *.hep.gg slot or your own custom domain - with host routing and the one-host-one-page rule shared with Profiles.
Custom domains
A published status page is served on a host you mount it to, from the editor's Domain tab. You can use your Hep.gg subdomain slot (<slug>.hep.gg) or attach your own custom domain. Attaching and verifying a custom domain is a dashboard action behind your hep.gg session; this page documents the resulting public hosting behavior.
Picking a domain
The Domain tab shows a picker of the domains you own:
- Your hep.gg subdomain (tagged
hep.gg). - Any custom domains you've added to your account.
A quick Add a domain button jumps straight into the custom-domain wizard if you don't have one yet. Once a custom domain is added to your account it is usable by any Hep.gg app.
One host, one page
A given host serves either a profile or a status page, never both. If a domain is already mounted to one of your profiles or another status page, the picker locks it and shows which app holds it, so you can't double-book a host. Unmount it from the other page first to reuse it.
How host routing resolves a request
For any incoming request, Hep.gg resolves the host before bouncing unmatched custom domains back to hep.gg:
- A profile mounted to the host wins first (profiles and status pages never share a host).
- Otherwise the host is matched against
status_pages.domain(case-insensitive). If a published page matches, it is rendered, and/status.jsonand/badge.svgare served on the same host. - If nothing matches and the host is the
hep.ggapex or another exempt root domain, the request falls through to the dashboard. - If nothing matches on an unmatched custom domain, the request is redirected to
hep.gg.
A page only renders when it is published (is_public), not suspended, and not expired - see visibility and availability.