Skip to content
All guides

Apps ·

Connect your own domain to an app

Point your own domain or subdomain at an app, verify it, and get free HTTPS. Covers the CNAME record, the A record alternative and what to do when verification fails.

Every app gets an address from us, but you probably want it on your own domain. This guide shows how to attach a domain or subdomain to an app, which DNS record to create, and how to check that it worked. HTTPS is set up for you, at no extra cost.

What you need

  • An app that is running in the panel.
  • A domain you control, with access to its DNS settings. That can be a domain registered with us or one from another provider.

Add the domain to your app

  1. Sign in to the panel, open Apps and click your app.
  2. Find the Custom Domains card and click Add domain.
  3. Under Hostname, type the address you want to use. Use a subdomain such as blog.example.com or the domain itself, such as example.com.
  4. Click Add.

The panel now shows the DNS record your domain needs. The domain appears in the list with the status pending until that record is in place.

Create the DNS record

There are two ways to point your domain at the app.

Option 1: a CNAME record (recommended)

Create a CNAME record for your hostname that points to the target the panel shows. The target is the app's own address, so this record also proves the domain is meant for this app. Nothing else is needed.

Option 2: an A record

Some DNS providers do not allow a CNAME on the domain itself (example.com without anything in front). In that case:

  1. Create an A record pointing to the IP address the panel shows.
  2. Also create the TXT record the panel shows. Its name starts with _panel-challenge. followed by your hostname, and its value is a code that belongs to your app.

The TXT record is required with an A record. Many customers share the same IP address, so the TXT record is how we know the domain is really yours.

If your DNS is hosted with us

When the domain's DNS zone is managed in the panel, you do not have to copy anything. Click Set up DNS automatically and the panel creates the records for you. If a record already exists at that name, you are asked to confirm before it is replaced.

Wait for verification

We check the record automatically every few minutes. To check right away, click the refresh icon next to the domain in the list.

  • When the record is found, the status changes to verified.
  • HTTPS is then set up automatically. This usually takes under a minute and can take up to about three minutes.
  • Your first verified domain becomes the app's main address. The app restarts briefly to switch over.

DNS changes are not instant. If you just created the record, give it a few minutes before you try again.

Using Cloudflare

If your domain is proxied through Cloudflare (the orange cloud), verification still works, but you need the TXT record from option 2 as well. Set your Cloudflare SSL/TLS mode to Full or Full (strict) so HTTPS works all the way to your app.

When verification fails

The list shows the reason under the domain. The most common ones:

  • The record points somewhere else. Compare the target or IP address with what the panel shows. An old record with the same name may still exist.
  • The domain does not resolve yet. The record is new and has not spread yet, or it was created under the wrong name.
  • The TXT record is missing. With an A record or a proxied domain, the _panel-challenge TXT record must exist and contain exactly the value shown.

Remove a domain

Open the Custom Domains card, click the remove icon next to the domain and confirm with Remove. The domain stops serving your app. Remember to delete the DNS record at your provider as well.

Do you still need a domain? See Register a domain.

Do you need help?

If something in this guide does not work for you, send us a message and we will help you out.

Contact us