Custom domains
Every Dina app gets a default URL like https://my-app.dina.run. That’s great for testing, but most real products want to live under their own domain. A custom hostname (sometimes called a custom domain) lets visitors reach your app at app.yourcompany.com instead.
Attaching a custom hostname is a two-step dance:
- Tell Dina about the hostname.
- Point your domain’s DNS at the app.
The order doesn’t matter — but both have to be done before visitors can load the site.
1. Add the hostname to your app
dina apps hostnames add --app my-app api.example.com
Dina records that this app should answer to that hostname and issues a TLS certificate for it once DNS is set up.
You can attach multiple hostnames to the same app:
dina apps hostnames add --app my-app api.example.com
dina apps hostnames add --app my-app www.example.com
2. Point DNS at your app
In your DNS provider (Cloudflare, Namecheap, Gandi, wherever your domain lives), add a record pointing the hostname at your app’s Dina URL.
If you need to look up your app’s Dina URL:
dina apps info --app my-app
The simplest setup is a CNAME record pointing your hostname at the dina.run URL. If your DNS provider doesn’t allow CNAMEs at the root of a domain (the so-called apex), use an A record instead — your provider’s docs will walk you through it.
Changes usually propagate in a few minutes, sometimes longer. While you wait, Dina is automatically requesting a TLS certificate so https:// works once DNS resolves.
Verify it’s working
dina apps info --app my-app
The Hostnames section lists every hostname attached to the app. In your browser, loading the hostname should show your app — not a certificate warning and not a “not found” page from Dina.
If the certificate isn’t ready yet, wait a few minutes and try again. Certificate issuance requires DNS to resolve first.
Remove a hostname
dina apps hostnames remove --app my-app api.example.com
The CLI asks for confirmation before unbinding the hostname. Skip the prompt in scripts with --force:
dina apps hostnames remove --app my-app api.example.com --force
Removing a hostname doesn’t delete your DNS records — that’s up to your DNS provider. Once the hostname is detached from the app, requests to it will no longer reach Dina.
Common problems
Browser shows a certificate warning. DNS isn’t resolving yet, or the certificate is still being issued. Give it a few minutes after changing DNS.
Site loads but shows a 404. The hostname might be pointed at the wrong app, or DNS is pointing at something other than your Dina app. Run dina apps info --app my-app to check the expected URL and compare it with what your DNS record actually returns (dig api.example.com or any online DNS lookup tool).
“Already attached to another app”. A hostname can only belong to one app. Remove it from the other app first, or choose a different hostname.