> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom Domains

> Connect your own domain to your Runable website with automatic SSL.

Every deployed website gets a subdomain at **yoursite.runable.site**. You can also connect your own domain (like **yourdomain.com**) with automatic SSL certificate provisioning.

## How to connect a custom domain

<Steps>
  <Step title="Open the website dashboard">
    Go to the chat where your website was built. Click the **Dashboard** tab in the website header, then select **Domains** from the sidebar.
  </Step>

  <Step title="Enter your domain">
    Type your custom domain in the domain field. This can be a root domain (yourdomain.com) or a subdomain (app.yourdomain.com).
  </Step>

  <Step title="Add the TXT verification record">
    Runable generates a TXT record you need to add at your DNS provider. This proves you own the domain.

    | Record type | Name                            | Value                                       |
    | ----------- | ------------------------------- | ------------------------------------------- |
    | **TXT**     | \_runable-verify.yourdomain.com | Your deployment ID (shown in the dashboard) |

    Add this record at your DNS provider (Cloudflare, Namecheap, GoDaddy, Google Domains, etc.) and click **Verify**.

    <Frame caption="The domain verification step showing the TXT record to add.">
      ![Domains dashboard showing the TXT record name and value that need to be added at the user's DNS provider](https://pub-51091dcf1e9d4b04bb2e74f489c4f346.r2.dev/752dd596ceb283b2ad6bc4fa9f5c9e1358c0b07a9eb0c2a09d710e9778881a0e.png)
    </Frame>
  </Step>

  <Step title="Add DNS records to point your domain">
    After verification, add the DNS records to route traffic to your Runable website:

    **For a subdomain** (app.yourdomain.com):

    | Record type | Name | Value                 |
    | ----------- | ---- | --------------------- |
    | **CNAME**   | app  | fallback.runable.site |

    **For a root domain** (yourdomain.com):

    | Record type | Name | Value                                            |
    | ----------- | ---- | ------------------------------------------------ |
    | **A**       | @    | Cloudflare IP addresses (shown in the dashboard) |
  </Step>

  <Step title="Wait for SSL">
    SSL certificates are provisioned automatically once DNS records propagate. This usually takes a few minutes but can take up to 24 hours depending on your DNS provider.

    The dashboard shows the SSL status. Once active, your site is accessible at [**https://yourdomain.com**](https://yourdomain.com).
  </Step>
</Steps>

<Note>
  DNS propagation can take anywhere from a few minutes to 24 hours. If verification fails, wait and try again.
</Note>

## Remove a custom domain

Go to **Dashboard → Domains** and click **Remove**. This disconnects the domain from your website. Your site remains accessible at its runable.site subdomain.

## What you cannot do

* You cannot connect multiple custom domains to the same website. One custom domain per deployment.
* You cannot manage SSL certificates manually. SSL is automatic.
* You cannot use a domain that is already connected to another Runable website.

## Next steps

<CardGroup cols={2}>
  <Card title="Database" icon="database" href="/database-d1-sq-lite">
    Learn how the built-in SQLite database works.
  </Card>

  <Card title="Website Analytics" icon="chart-line" href="/website-analytics">
    Track visitors and events on your deployed website.
  </Card>
</CardGroup>
