This page is about features available in the Shuttle Pro Tier.

By adding a custom domain to your project, web traffic can be served on your own fancy domain name in addition to the default <project-name>-<nonce>.shuttle.app.

You can add a root-level domain (example.com) or a subdomain (thing.example.com).

Adding a custom domain to your project follows these steps:

  • Purchase a domain name from a DNS provider,
  • set up a DNS record to make it point to your Shuttle server, and
  • generate an SSL certificate that enables HTTPS traffic to your project.

Set up DNS record

The process for setting up the required DNS rule looks different depending on which type of domain and registrar you have.

Cloudflare

If you have your domain name on Cloudflare, the process is quite simple. Go to Websites -> <your domain> -> DNS -> Records -> Add Record, then follow the relevant section below.

Root domain

Add a CNAME record from @ to your *.shuttle.app subdomain. Disable the Proxy.

Adding a CNAME on the root level here is possible due to Cloudflare’s CNAME flattening.

You can also add a CNAME for the www subdomain if you also want traffic to www.example.com to arrive to your service.

Subdomain

Add a CNAME record from your subdomain to your *.shuttle.app subdomain. Disable the Proxy.

In the example above, the subdomain thing (as in thing.my-domain.com) is being directed to example.shuttle.app.

Other DNS providers

The process for other providers can vary, but here are the general steps. If you want to add docs for a specific provider, feel free to contribute to this page.

Root domain

If you are adding a root-level domain, add one or more A records that point to the same IP addresses that are returned by dig A example.shuttle.app: 13.43.102.179, 35.176.103.249, 3.9.87.116.

Subdomain

If you are adding a subdomain, add a CNAME record from your subdomain to your *.shuttle.app subdomain.

Set up SSL certificate

Once the DNS records have propagated, add an SSL certificate and start receiving HTTPS traffic by running:

shuttle certificate add <domain>

After that, you can manage certificates with:

shuttle certificate list
shuttle certificate delete <domain>