Links

Single Server DNS Setup

The goal of this section is to get your DNS setup for your portal. For single server portals, this just requires A records.
NOTE the portal uses certbot to manage auto renewing SSL certificates. We recommend verifying that your DNS provider has a certbot docker image to make things as easy as possible.
Certbot docs on dns plugins can be found here.
The default DNS provide for our certbot docker image is AWS. We also have documentation for Cloudflare. You can find more information here.

Cloudflare

If you are setting up a single server portal, often the DNS management that your domain provider offers is sufficient for the portal. If your domain provider isn't on the list of plugins, you can use Cloudflare for free.
These docs assume you purchased your domain on Namecheap and are now setting up Cloudflare for DNS management. While the screens will look different, the general steps are the same for most providers.

Nameservers

For the nameservers, you will want to use custom nameservers and use the Cloudflare servers.

A Records

You will want to create an A record that points from your domain to your server IP. The host in the A Record will be @. Then you will create a CNAME record where the host is * and it points to your domain. Additionally, if you want www.mydomain.com then you'll need to add another CNAME record for www.
NOTE if you are having redirect issues, make sure the proxy status is DNS only and not set to proxy your requests.

Access Token

For certbot you will need to generate an API access token. From the main page of your domain, find the API section on the right hand menu and click Get your API token.
Then click Create Token.
Then click Use template.
Then at Permissions for Zone | SSL and Certificates | Edit. Select the domain you want it to apply to in Zone Resources.
Then save the token for later.

Verify

Lastly, you'll want to verify that you can access your server via your domain. It might take some time for updates to propagate. Use the steps here to verify your DNS settings are set up correctly.

AWS

Currently, this documentation is set up to walk you through using AWS for your DNS management.

Route53

Hosted Zones

Once you have created an account and logged in, head to Route53. You can find this under Services or by searching for it in the search bar.
In Route53, click on Hosted Zones and create a new hosted zone. This hosted zone should be public and is the domain that you purchased for your portal.

Nameservers

Once your hosted zone is set up, AWS will have populated a nameserver NS record for your domain. Typically there are 4 nameservers listed in the NS record. You will need to update the nameservers for your domain where you purchased and managed your domain.
If you happen to purchase your domain through NameCheap, you can update your nameservers by clicking on your domain, selecting the Custom DNS option under NameServers, and copying in the name servers that AWS generated for you.

A Records

After you have created your hosted zone, you can now create additional DNS records.
First, you will want to create an A Record that points from your domain to your server's IP address.
Next, you will want to create a wildcard A record. To do this, you create an A record, select the alias option and find the A record that you just created that points to the server IP. For the value of Record name place an asterisk (*).

CNAME Record

If you want your domain to be accessible at both mydomain.com and www.mydomain.com you will need to add a CNAME record for www that points to mydomain.com like so:

Verify

DNS records can sometimes take a while to update. However, you will know that everything is set up properly when you can ssh into your server with the domain name instead of the IP address, like so:
# Single Server Portal

Access Key

For certbot, you will need an AWS access key, so you will need to generate an access key for your account.
Click on Security Credentials in your account dropdown menu.
Under Access keys, click Create New Access Key.
Hold on to these and we will use them when we are setting up the portal.
The AWSAccessKeyID is the aws_access_key and the AWSSecretKey is the aws_secret_access_key.