Custom Domains
Connect a hostname you own to an HTTP tunnel.
Use a custom domain when a preview or integration needs a hostname such as preview.example.com rather than an assigned OutRay address.
Custom tunnel domains and Uptime status-page domains are separate resources. The records below are for tunnels.
Add the hostname
In your organization's console, open Tunnels → Domains at /<org-slug>/tunnel/domains and add the hostname. Open its DNS instructions to see your ownership token.
For preview.example.com, configure:
| Type | Name | Value |
|---|---|---|
| CNAME | preview.example.com | edge.outray.app |
| TXT | _outray-challenge.preview.example.com | The ownership token shown for this domain |
If your DNS provider automatically appends example.com, enter the relative names preview and _outray-challenge.preview instead.
Wait for the records to become visible in DNS, then choose Verify DNS in the console. Do not omit the TXT record: it proves that your organization controls the hostname.
Connect your local server
Once the domain is active:
outray 3000 --domain preview.example.comThe domain must belong to the same organization as the CLI login or token used to open the tunnel. The CLI needs to remain connected for traffic to reach your local application.
You can also configure custom_domain in a TOML tunnel configuration.
Troubleshooting
If ownership verification fails, check the TXT name and token, including whether the DNS provider appended the zone twice.
If the domain is active but does not reach your application, check the CNAME independently, the tunnel's live connection, and the local server. Domain verification is not a health check of your running application.
Removing a domain from OutRay does not remove its DNS records at your provider.