Custom Domains & SSL
You can point your own domain at your app. SSL certificates are issued and renewed automatically at no cost.
Step 1 — Add the domain in your panel
- Open your app and go to the Domains tab
- Click Add Domain
- Enter the domain you want to use, for example
app.example.com
Step 2 — Create the DNS record
In the Domains tab you will see your app's default URL. Create a CNAME record at your DNS provider pointing your domain to that address:
| Type | Name | Points to |
|---|---|---|
| CNAME | app | your app's default URL, exactly as shown in the Domains tab |
Copy the target from the Domains tab. It is specific to your app. Do not type it from memory and do not reuse one from another app or another guide — a wrong target is the most common reason a custom domain never works.
Root domains
A root domain such as example.com cannot normally take a CNAME. Either:
- use a subdomain such as
app.example.com(simplest), or - use a DNS provider that supports CNAME flattening or ALIAS records at the root, or
- contact support and we will advise on the right record for your setup
Step 3 — Wait for verification and SSL
Once DNS resolves to your app:
- The domain shows as Verified in the Domains tab
- An SSL certificate is issued automatically
- HTTP is redirected to HTTPS
- The certificate renews itself before expiry
DNS changes usually take a few minutes but can take up to 48 hours. SSL is issued after DNS has propagated — allow a further 5–10 minutes.
Multiple domains
You can point several domains at one app, each with its own certificate:
app.example.comwww.example.comapi.example.com
Troubleshooting
| Problem | What to check |
|---|---|
| Domain shows "Pending" | DNS has not propagated yet, or the CNAME target does not match the one in the Domains tab |
| SSL not issued | SSL only starts after the domain verifies — confirm verification first |
| Wrong site loads | The CNAME points somewhere else; re-check the target |
| Mixed-content warnings | Your app is requesting http:// resources — update them to https:// |
If the domain still does not work after 48 hours, open a ticket with the domain name and we will check it.