DocsCustom domains

Custom domains

Serve an Egg on your own domain: point the DNS record we show you, verify it, and Ruust issues and renews TLS automatically.

A web or game Egg gets a public URL the moment it hatches, in the form <slug>.<region>.ruust.run, for example shop.eu-west.ruust.run in London or api.us-east.ruust.run in Virginia. That URL is live on HTTPS straight away, so you can ship without touching DNS. When you are ready, add your own domain and Ruust serves the same Egg on it.

The default URL

The built-in ruust.run URL always stays reachable, even after you add a custom domain, so links and health checks that use it keep working. The region is baked into the hostname because an Egg lives in one region permanently.

Add your domain

  1. Open the web or game Egg in the dashboard and go to Domains (a database Egg or Vault has no Domains tab).
  2. Enter the domain you want to serve, for example www.example.com or the apex example.com.
  3. Ruust shows you the DNS records to create: a TXT record that proves ownership, and a routing record (a CNAME or an A record) that points the domain at your Egg. The Egg panel shows a placeholder for the routing record, so read the concrete routing value (the host public IP) from the Domains overview page. Copy them.
  4. Add those records at your DNS provider, then come back and choose Verify.
  5. Once verification passes, Ruust issues a TLS certificate and starts serving the Egg on your domain.

The DNS records to add

A custom domain needs two records, and the dashboard shows both with their exact values. First, an ownership TXT record at _ruust-verify.<your-domain>, whose value is the token the dashboard displays. Ruust reads this record when you choose Verify to confirm you control the domain. It is not a secret and it is safe to publish.

text
_ruust-verify.www.example.com   TXT   "<the token the dashboard shows>"
The ownership record. Verify reads the token back from this TXT record.

Second, the routing record that points visitors at your Egg. For a subdomain such as www or app, add a CNAME that points at your Egg default URL. This is the common case and the one we recommend.

text
www   CNAME   shop.eu-west.ruust.run.
A CNAME on the www subdomain, pointing at the Egg default URL (use the values the dashboard shows).

For an apex (or root) domain like example.com, many providers will not allow a CNAME. If yours offers ALIAS, ANAME or CNAME flattening, point that at the Egg default URL. Otherwise create the A record whose value (the host public IP) is shown on the Domains overview page. Follow the routing value from that overview page rather than guessing.

Verification

Verify reads the ownership TXT record at _ruust-verify.<your-domain> and checks it contains the token the dashboard showed. DNS changes can take a little while to propagate, from a few minutes to a few hours depending on your provider and the record TTL, so if the first check fails, wait and try again. Nothing changes for visitors until verification passes.

TLS

Once your domain is verified, Ruust issues a TLS certificate for it and renews it automatically before it expires. There are no keys to upload, no certificates to rotate and nothing to configure. Traffic is HTTPS end to end, on both the ruust.run URL and your own domain.