Docs / Ship / Domains

Domains

The FASTBASE address

Every project gets <project>.<FASTBASE_BASE_DOMAIN> automatically. It always points at the live production version. Each deployment also keeps its own address, <project>--<deployment-id>.<FASTBASE_BASE_DOMAIN>, which is what preview deployments use.

The base domain is a setting of the FASTBASE installation (FASTBASE_BASE_DOMAIN), not something built into the product.

Custom domains (beta)

  1. Domains → Add domain, for example app.customer.com.

  2. FASTBASE shows two DNS records to create where your domain is managed:

    Type Name Value
    CNAME app.customer.com <project>.<FASTBASE_BASE_DOMAIN>
    TXT _fastbase.app.customer.com fastbase-verification=…
  3. Press Check DNS. FASTBASE also re-checks pending domains every hour.

  4. Once verified, FASTBASE connects the domain to the web server and requests its certificate. The domain shows Active when it serves over HTTPS — usually within a few minutes.

The TXT record proves you control the domain; a domain can belong to only one project.

HTTPS

Certificates are issued by the edge proxy that sits in front of FASTBASE (Caddy with on-demand TLS in the reference setup — see docs/LOCAL_DEVELOPMENT.md and infrastructure/compose). The edge asks FASTBASE whether a hostname is a verified domain before requesting a certificate, so certificates are never issued for domains nobody added.

On a local installation there is no edge proxy and everything is plain HTTP on *.localhost.

On a WHM/cPanel installation Apache owns ports 80 and 443, so FASTBASE hands each verified domain to a small root helper (infrastructure/cpanel/fastbase-domain): the domain becomes an addon domain of the FASTBASE cPanel account, Apache gets a virtual host that proxies to the application router, and cPanel's AutoSSL issues and renews the Let's Encrypt certificate. The helper only accepts domains FASTBASE has verified, and the domain stays Verified (not yet Active) until the certificate exists; FASTBASE re-checks every hour. If a domain stays Verified for more than a day, the reason is shown next to it — most often the DNS CNAME was changed or AutoSSL could not reach the domain over HTTP.

Apex domains

A CNAME cannot be placed on a bare domain such as customer.com with most DNS providers. Use www.customer.com or a provider that supports CNAME flattening / ALIAS records.