Custom domains

Serve a site from your own domain (Pro).

Pro sites can be served from a domain you own, like www.yourbusiness.com. Each site has its own domain, set in that site's Settings under Access & domains.

Connect a domain

  1. Open the site's Settings, find Custom domain, type your domain and press Connect domain.
  2. At your domain provider (where you bought the domain), add the DNS records iSelify shows you: a TXT record that proves you own it, and a CNAME record (or an A record for a root domain) that sends visitors here.
  3. Press Check DNS. When the TXT record is found the status turns to Connected.
DNS changes can take anywhere from a few minutes to a few hours to spread. If Check DNS doesn't find the record straight away, wait a little and try again.

Good to know

  • A domain can be connected to one site at a time.
  • Your free iSelify address keeps working alongside your domain.
  • Custom domains need an active Pro plan. If Pro ends, the domain stops serving until you renew; your site stays on its iSelify address.
  • Remove a domain from the same panel at any time.

Hosting iSelify yourself

If you run iSelify on your own server, three things make custom domains work in production:

  • Optionally set CUSTOM_DOMAIN_TARGET (the hostname customers CNAME to; defaults to your ROOT_DOMAIN) and CUSTOM_DOMAIN_IP (shown as an A record) in .env.
  • Set APP_URL so iSelify knows its own address and doesn't treat it as a customer domain.
  • Have your web server issue HTTPS certificates on demand for verified domains only. With Caddy:
{
  on_demand_tls {
    ask http://iselify.com/api/domains/check
  }
}

https:// {
  tls { on_demand }
  reverse_proxy iselify.com
}

The ask address answers "yes" only for domains that are verified and owned by an active Pro account, so certificates are never issued for random hostnames.

Trying it on your computer

Locally, DNS verification is skipped so you can test. Point a made-up domain at your machine in your hosts file (for example 127.0.0.1 mysite.test), connect mysite.test to a site, and open http://mysite.test:3000.