Setup a GoDaddy Domain with ZEIT Now

Use your GoDaddy registered domain as an alias for your ZEIT Now deployments.

With Now, you can assign a domain name to any of your deployments by aliasing. If you have a domain registered on another service, such as GoDaddy, you must first point your domain to Now in order to alias your deployments.

This guide will cover how to point your GoDaddy registered domain towards Now in order to alias your deployments to that domain.

Step 1: Adding and Verifying Your Domain

The first step of pointing an external domain to Now is to add your domain to your ZEIT account or team and verifying ownership.

To add a domain with Now CLI, use the following command in your terminal:

now domains add <domain>

Once you have added the domain, Now CLI will present you with some information about verifying it.

You will have two options. Either to verify your domain with nameservers for immediate migration or with a TXT record for thorough zero-downtime migration. The method you use is entirely optional.

Adding a domain with Now CLI.

Verifying with Nameservers

This is the fastest method of getting started with your domain on Now. When using nameservers, you are both verifying and pointing to Now all at once.

When using this method, however, if the domain was previously pointing to another host and if you have not yet configured Now for your domain, e.g. generating SSL certificates and aliasing; when it does point to Now, it will invoke downtime until the configuration is done. To avoid this, use the TXT verification method.

If you want to verify with nameservers, you must use the intended set of nameservers given to you when you added the domain with Now CLI. If you need to be reminded of these nameservers, you can use the following command:

now domains inspect <domain>

With the intended set of nameservers, you shall need to apply them to your domain through the GoDaddy through their account dashboard and clicking through to manage your domain.

Going to GoDaddy.com and logging in will result in a page like this:

The GoDaddy domains dashboard.

Next, click on the "DNS" button on the domain you want to migrate to Now. You will be brought to a page with the two uppermost sections being "Records" and "Nameservers".

Apply the nameservers you received from adding your domain or from the inspect command in the order they are given and then save the configuration.

After GoDaddy has propagated the changed DNS for your domain, your domain is ready to be verified. ZEIT will automatically check the domain periodically for verification, though if you want to verify it yourself, use the following command:

now domains verify <domain>

Verifying with a TXT Record

This method is used when you want to verify your domain but you do not yet want to point to Now, for example if you need to configure Now beforehand in order for zero-downtime.

You can add the TXT record by going to your GoDaddy domains dashboard, as in the nameservers method, and clicking on DNS on the domain you want to migrate, then clicking add in the "Records" section.

Select TXT as the record type to add, _now as the host, and the value you were given for the record when adding your domain or when using the now domains inspect <domain> Now CLI command.

Adding a TXT record with GoDaddy's domain DNS management settings.

Once you have added the TXT record, your domain can be verified. ZEIT will periodically check your domain to see if it is verified, but if you do not want to wait and want to start using your domain with Now immediately, use the following command to force a verification check:

now domains verify <domain>

Verifying a domain with Now CLI

Step 2: Configuring Your Domain on Now

If you have used either verification method, the next step may be to configure your domain with DNS records and to alias a deployment to your domain.

Adding DNS Records

Whether you are matching a previous configuration for your domain for a zero-downtime migration or just want to set up DNS records, Now provides an easy to use command that allows you to add DNS records from the CLI.

For example, adding a set of Gmail MX records with the now dns add command:

now dns add <domain> @ MX ASPMX.L.GOOGLE.COM 1 && now dns add <domain> @ MX ALT1.ASPMX.L.GOOGLE.COM 5 && now dns add <domain> @ MX ALT2.ASPMX.L.GOOGLE.COM 5 && now dns add <domain> @ MX ALT3.ASPMX.L.GOOGLE.COM 10 && now dns add <domain> @ MX ALT4.ASPMX.L.GOOGLE.COM 10

Read more about now dns to learn about the format of the command.

Aliasing a Deployment

ZEIT Now is dedicated to making deployment easy. If you have not yet deployed an app, take a look at the Deployment Basics documentation or at some other guides or examples to get started. The aliasing process will also generate a free SSL certificate for your domain.

When you are ready to deploy and alias, using the alias property containing your domain, within your now.json file.

{
  "alias": "www.yourdomain.com"
}

Adding an alias to your project's now.json file.

You can deploy and set up an alias to your domain with one command:

now --prod

Deploying a project to a production alias.

We highly recommend using either the Now for GitHub or Now for GitLab apps coupled with the same alias configuration option which will allow your app to be deployed on push to your GitHub repository and aliased automatically when merged to the default branch.

Step 3: Pointing to Now

As with the "Verifying with Nameservers" step, this final part of the migration process will point your domain to ZEIT DNS with the intended nameservers set. If you did not save them when you added your domain, you can see the intended list by running the now domains inspect <domain> command.

If you verified with nameservers, this step is already complete!

To set your nameservers, on the DNS management page as you added the TXT record, at the bottom of that page will be a section that allows you to enter custom nameservers

Changing nameservers with GoDaddy's DNS management settings.

Once GoDaddy propagates the changes to the domain with the updated nameservers, your domain will then point to the app you deployed before.

That's all. Your domain is successfully migrated to using ZEIT DNS and pointing to your Now deployed app.



Written By
Written by timothytimothy
on January 23rd 2019