Skip to content
homeport

Docs · Configure

Custom domains

On a paid plan, add a domain on an environment’s Domains tab, then create the two DNS records it shows you: one that points the domain at homeport and one that proves it is yours. It goes live by itself once both resolve, usually within minutes, and its HTTPS certificate is issued for you.

Adding a domain

  1. Open the app, choose the environment (production, usually) and its Domains tab.
  2. Enter the domain, such as shop.example.com, and choose Add domain.
  3. Create the records it lists at your DNS provider (below). The domain shows as Pending until they resolve.
  4. When both are there, it changes to Active. The app keeps answering at its homeport.run address too.

The DNS records

For a subdomain, like shop.example.com or www.example.com:

Records for a subdomain
TypeNameValue
CNAMEshop.example.comedge.homeport.run
TXT_homeport.shop.example.comhomeport-verify=…

For a root domain, like example.com, where most DNS providers do not allow a CNAME: an A record for the domain, to the IP address the Domains tab shows, and the same TXT record.

  • The TXT value is unique to the domain and this app. Copy it from the Domains tab. Removing a domain and adding it again issues a new one.
  • Remove any AAAA record for the domain: a domain with an IPv6 address does not verify.
  • Behind Cloudflare, set the record to DNS only (grey cloud). A proxied record resolves to Cloudflare’s addresses rather than homeport’s, and does not verify.

HTTPS

Once a domain is Active, its certificate is issued from Let’s Encrypt on the first visit, and renewed for you. There is nothing to upload. The first request to a new domain can take a few seconds while that happens.

www and the root domain

example.com and www.example.com are two domains to homeport. To serve both, add both, each with its own records. homeport does not redirect one to the other.

Limits

Custom domains per plan
PlanCustom domains for the team
FreeNone
Starter10
Growth50
Business250
  • An app can have up to 10 domains, and a domain belongs to one app.
  • Names under homeport.run cannot be added: every app already has one.
  • Removing a domain stops it answering for the app straight away. You can add it again, but its proof starts over.

Messages you may see

Domain errors
MessageWhat it means
Custom domains need a paid planFree has no custom domains.
your plan has room for 10 custom domainsThe team has as many domains as its plan allows.
an app may have 10 domainsThis app has 10 already.
shop.example.com is already another app'sThe domain is attached to a different app.
"shop" isn't a domainEnter a full domain name, without https:// or a path.