Zerigo DNS

This add-on is operated by Zerigo

Automatic DNS management for your custom domains.

Zerigo DNS

Last Updated: 29 June 2015

custom domain dns zerigo

Table of Contents

Zerigo provides an excellent DNS service that is fully integrated with Heroku via the Zerigo DNS add-on.

Configure DNS servers

DNS changes can take time to propagate across the Internet. On Unix systems, you can verify that your domain is correctly pointed at Zerigo's servers by running dig ns yourdomain.com in the shell. You should see the five servers above listed in the output.

Before you can use the add-on, you will need to do a one-time setup for your domain with your registrar, configuring it to use Zerigo’s DNS servers:


Now you can use these domains with any of your Heroku apps by way of the Zerigo DNS Add-on.

Install the add-on

All you need to do now is choose one of the available Zerigo DNS plans, and install the appropriate add-on. Here’s an example using the free version:

$ heroku addons:create zerigo_dns
Installing zerigo_dns into myapp...done.

The default plan is our free plan. To add other plans use the following:

$ heroku addons:create zerigo_dns:5

$ heroku addons:create zerigo_dns:10

$ heroku addons:create zerigo_dns:50

$ heroku addons:create zerigo_dns:500

$ heroku addons:create zerigo_dns:unlimited

The free plan is limited to ten hosts. Otherwise all plans come with world class DDoS, unlimited hosts, and unlimited queries.

If you already have custom domains defined when adding the Zerigo DNS add-on, DNS entries for your existing custom domain names will automatically be added to Zerigo's systems.

If you have installed the add-on previously using "heroku addon:create" destroying does not call out to Zerigo and remove the account. You will need to use "heroku addon:add" instead to add records/domains.

List Plans

$ heroku addons:plans zerigo_dns
=== Zerigo DNS Plans
         Slug                  Name           Price
#------  --------------------  -------------  ------------
default  zerigo_dns:free       Free           free
         zerigo_dns:5          DNS 5          $5.00/month
         zerigo_dns:10         DNS 10         $8.00/month
         zerigo_dns:50         DNS 50         $18.00/month
         zerigo_dns:500        DNS 500        $48.00/month
         zerigo_dns:unlimited  DNS Unlimited  $98.00/month

Upgrading or Downgrading

If you would like to move to another plan you need to identify the name to use.

$ heroku addons
=== Resources for whispering-escarpment-9228
Plan          Name                 Price
#-----------  -------------------  -----------
zerigo_dns:5  swimming-newly-8999  $5.00/month

$ heroku addons:upgrade swimming-newly-8999 zerigo_dns:5
Changing swimming-newly-8999 plan to zerigo_dns:5... done, ($5.00/month)

$ heroku addons:downgrade swimming-newly-8999 zerigo_dns:free
Changing swimming-newly-8999 plan to zerigo_dns:free... done, (free)

Manage domain names

It is generally best practice to add in domains and subdomains starting with the lowest level first (ie. if you are adding a base domain and several subdomains, add the base domain first, then the subdomain.)

$ heroku domains:add mydomain.com

This will automatically add an ALIAS record ‘mydomain.com’ to ‘heroku-app-url.herokuapp.com’. An ALIAS record is a specific type that essentially lets us safely create a domain apex level CNAME like behavior.

Once installed, any domain or subdomain names added or removed via the heroku command-line tool will automatically be added to Zerigo’s globally distributed DNS servers. Updates happen instantly and Heroku will always keep your DNS records correct, meaning you never need to worry about them again.

For example:

$ heroku domains:add foo.mydomain.com

This will automatically add the ALIAS record ‘mydomain.com’ to ‘heroku-app-url.herokuapp.com’ and a CNAME record ‘foo.mydomain.com’ to ‘heroku-app-url.herokuapp.com’. If the ALIAS record already exists then it just adds the CNAME.

Of course, you can also remove a domain or subdomain name at any time with:

$ heroku domains:remove foo.mydomain.com

Managing MX and other host records

If your domain is handling mail, you will need to manage your MX Records. The Zerigo DNS add-on provides support for this by allowing you access to Zerigo’s web based management interface. Here’s how you use it:

  1. Go to your Applications Dashboard.
  2. Locate your app in the list that is using the Zerigo add-on and click into its settings. App link
  3. In the add-ons section click on the Zerigo add-on. Zerigo Addon Link
  4. Once on the add-on page, click the “Configure” for the domain you’d like to manage.

Clicking “Configure” will automatically sign you in to the Zerigo DNS management interface. In there, you have full control to manage your MX Records.

From the Zerigo management interface you can also add, edit and delete CNAME and A Records. We do strongly recommend that you let Heroku manage entries added via the Heroku command-line client.


Currently the Zerigo DNS add-on is only deployed in the US region. We are working with Heroku to cover the EU region as well.