Serve from a custom domain
Add, verify, and remove one Pro custom domain per app.
Custom domains are Pro, one per app, and owner-only. The proxy routes the hostname to the app with the same visibility, gates, and moderation as <slug>.outer.now.
Point DNS at Outer
- Run
add_domain {app, hostname}and copy the returned DNS records. - Create
CNAME <hostname> → domains.outer.nowat your DNS provider. - Create the returned
TXTownership and certificate records exactly as shown. - Poll
list_domainsuntil hostname and certificate both readactive. - Fix DNS and refresh when status reads
failedwith a reason.
| Status | Meaning |
|---|---|
pending |
Registered; validation or certificate work is incomplete. |
active |
Hostname validated and certificate deployed; serves traffic. |
failed |
Stuck; reason names the cause. |
Keep ownership rules straight
- Manage domains as the app owner only, via
add_domain,list_domains,remove_domain. - Expect downgrading to Free or deleting the app to remove the domain.
- Keep the domain across renames; the binding follows the app, not the slug.
For the person-side walkthrough, see Use a custom domain.