> For the complete documentation index, see [llms.txt](https://docs.qwykportals.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.qwykportals.com/developer-guides/guides/custom-domain.md).

# Bring your own domain

## Introduction

{% hint style="success" %}
Available in advanced plans on **stable** branch only.

*Contact your Sales Representative for more information*
{% endhint %}

By default Digital Freight Portal will serve your portals instance as a self-chosen subdomain under qwykportals.com (or next.qwykportals.com) You can however elect to bind your own (sub-)domain and allow your visitor to access your portal using a URL they recognise as trusted.&#x20;

![A standard portals url with your own chosen prefix but our root.](/files/-MFb8_7wx_kAlgRRh1or)

![A custom domain](/files/-MGDbvhHVOq549_Wg6Sl)

We use CNAME records to accomplish this which will also allow us to generate an SSL certificate using [Let's Encrypt's HTTP-01 ACME Challenge](https://letsencrypt.org/docs/challenge-types/) method:

> A **Canonical Name record** (abbreviated as **CNAME record**) is a type of [resource record](https://en.wikipedia.org/wiki/Resource_record) in the [Domain Name System](https://en.wikipedia.org/wiki/Domain_Name_System) (DNS) that maps one domain name (an [alias](https://en.wikipedia.org/wiki/Alias_\(computing\))) to another (the [canonical](https://en.wikipedia.org/wiki/Canonical_form) name).[\[1\]](https://en.wikipedia.org/wiki/CNAME_record#cite_note-1)
>
> This can prove convenient when running multiple services (like an [FTP server](https://en.wikipedia.org/wiki/File_Transfer_Protocol) and a [web server](https://en.wikipedia.org/wiki/Web_server), each running on different ports) from a single IP address. One can, for example, point ftp.example.com and [www.example.com](http://www.example.com) to the DNS entry for example.com, which in turn has an [A record](https://en.wikipedia.org/wiki/A_record) which points to the IP address. Then, if the IP address ever changes, one only has to record the change in one place within the network: in the DNS A record for example.com.
>
> CNAME records must always point to another domain name, never directly to an IP address.

Source: <https://en.wikipedia.org/wiki/CNAME_record>

## Goal

The goal of this guide is to setup domain alias to point to your QwykPortals instance so people can use that address to visit your portal.

## What you'll need

1. [A domain to forward to your portal.](/developer-guides/guides/custom-domain.md#choosing-a-domain-name)
2. [Access to your hosting or name provider's DNS settings to create a CNAME record.](/developer-guides/guides/custom-domain.md#add-a-cname-record-to-your-dns-settings)
3. [A domain redirection request sent to onboarding@qwyk.io](/developer-guides/guides/custom-domain.md#request-domain-configuration-from-qwyk)

## Workflow

### Choosing a domain name

We recommend choosing a domain name that's not too long and easy to remember for your customers. This can be for example: *portal.your-domain.com,* or any variant of `portal` such as `online` or `customers` or we personally think `my` is really good.&#x20;

For the purposes of this guide we'll choose **my.digitalfreight.company** as the domain at which we'd like the portal to be available.

{% hint style="danger" %}
**CNAME records pointing to the apex of a zone are not permitted:**

If you decide to register a fresh domain, you need to remember that creating a CNAME record at the apex of your zone (i.e. example.com) is **not permitted** and your DNS provider will likely not accept you creating one. If they do let you continue, the alias is unlikely to work.
{% endhint %}

### Add a CNAME record to your DNS settings

Follow the provided steps provided by your DNS provider, creating a CNAME record for the domain you chose in the first step pointing to: `hosting.qwykportals.com`

```
NAME                              TYPE   VALUE
-----------------------------------------------------------------
my.digitalfreight.company.        CNAME  hosting.qwykportals.com.
```

Guides for common DNS providers:

* [AWS Route53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-creating.html)
* [BlueHost](https://my.bluehost.com/hosting/help/resource/714)
* [Domain.com](< https://www.domain.com/help/article/dns-management-how-to-update-dns-records>)
* [DreamHost](https://help.dreamhost.com/hc/en-us/articles/215414867-How-do-I-add-custom-DNS-records-#CNAME_record)
* [GoDaddy](https://help.dreamhost.com/hc/en-us/articles/215414867-How-do-I-add-custom-DNS-records-#CNAME_record)
* [Google Domains](< https://support.google.com/domains/answer/9211383?hl=en>)
* [HostGator](https://www.hostgator.com/help/article/how-to-change-dns-zones-mx-cname-and-a-records#cname)&#x20;
* [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain)
* [One.com](https://help.one.com/hc/en-us/articles/360000803517-How-do-I-create-a-CNAME-record-)

If your DNS provider is not listed, you can either check their support page or use a search engine to search for "How to create a CNAME record on \[YOUR DOMAIN PROVIDER]"

{% hint style="warning" %}
**Do not create A records**&#x20;

Traffic to portals is load balanced to a fleet of servers at multiple IPs and due to auto-scaling those IP addresses change frequently. We will not notify you of changes and so when pointing an A to portals, the domain may become unable to resolve. Always use CNAMEs as explained above.
{% endhint %}

### Request domain configuration from DFP

This is a paid feature. If it is included in your subscription, your Implementation Manager will assist with the setup during onboarding. If you'd like to add this feature to your subscription, please reach out to your Sales Representative who will assist you with the setup.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.qwykportals.com/developer-guides/guides/custom-domain.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
