Domains
The Domains tab is where you point custom hostnames at your project, validate DNS, and manage SSL certificates. Open it from the project's tab strip in the Console.
Platform preview URLs #
Every new web project reserves a public address such as project-name.depfloy.app. The create form checks the editable name before submission and offers a different hostname when the first choice is already in use.
Depfloy creates the platform DNS record, prepares the project vhost, issues a certificate for that hostname, and verifies HTTPS. The Domains tab reports each setup stage. A failed stage shows its message and, when it can be retried, a Retry setup action. An unexpired certificate already recorded for the hostname is reused during a retry.
The platform address stays with the project when the project is renamed or moved to another server. If a production domain was supplied at creation, that domain remains primary; the preview URL is an additional address.
Custom preview domains #
Business organizations can configure one preview base under Configuration → Preview domains. New projects can then receive addresses such as project-name.preview.example.com. Owner, Admin, Manager, and Developer roles can manage this setting; Viewer cannot.
Choose one DNS setup:
- Cloudflare manages DNS — select a synced Cloudflare zone and, optionally, a subdomain such as
preview. Depfloy creates and checks the ownership record. After verification, it creates each project’s exact DNS-only CNAME to that project’s stabledepfloy.apphostname. - I manage DNS — enter the base domain and publish the TXT name and value shown by Depfloy. After the base is Verified, publish the exact CNAME shown for each project, pointing it to that project’s platform hostname, then recheck the project record. The platform URL keeps working while the custom address waits for DNS.
Each custom address receives an individual certificate. It becomes Ready only after its CNAME, public HTTPS response, and HTTPS response at the project’s server have been verified.
A wildcard CNAME cannot create these mappings: projects may run on different servers, and DNS does not substitute the matched project label into a target. Add the project-specific CNAME shown in the Console.
Removing a custom base requires its project bindings to be removed first. If a Business subscription changes to a plan without custom preview domains, Depfloy retires the custom bindings immediately and uses each project’s platform preview as the replacement primary preview. A production primary domain is not changed. For manual DNS, remove the old TXT and CNAME records at your provider after the bindings are retired.
Manual setup restrictions #
Manual custom preview activation requires the platform preview to be ready first. It is unavailable while the project has an active Octane plugin or a custom nginx configuration; remove that configuration or plugin before rechecking the CNAME. These restrictions apply to the manual activation path, not to the platform preview URL or a production domain.
Add a domain #
Click Add Domain, type the hostname (app.example.com), and save. Depfloy registers the domain on the project and shows you the DNS records you need to add at your registrar.
When a Cloudflare zone covers the domain #
With a Cloudflare account connected and a zone covering the name, the dialog asks for the zone and the subdomain instead of a full hostname, and opens the A record for you — pointing at the server, DNS-only rather than proxied, so a certificate can be issued. It tells you that before you press the button, and tells you instead when the server has no public address yet and the record has to wait.
The rest of this section is what to do without that: the records to add by hand, and how Depfloy notices when they land.
DNS records #
For the domain to resolve to your project, you need to add A records at your DNS provider that point at your server’s public IP. The Domains tab shows the exact records — IP address, host, and TTL — ready to copy.
For an apex domain (example.com), use the A record directly. For a subdomain (www.example.com, app.example.com), some providers prefer a CNAME pointing at the apex; the A record approach also works fine.
Validation status #
After you save DNS records, the Domains tab polls in the background to detect when DNS propagates. The status column updates from Pending to Connected without you needing to refresh — usually within minutes of the DNS change, though some providers take longer.
If validation never succeeds, double-check:
- The exact host (do you need
www?) - The exact IP (your server’s current public IP, not an old one)
- That you haven’t accidentally created the record on a different domain
SSL certificates #
Once a domain is validated, Depfloy can issue a free Let’s Encrypt certificate for it. Tick Enable SSL on the domain row, and Depfloy requests the certificate and installs it on your server. The first issuance takes a minute or so; afterwards your domain serves over HTTPS automatically.
Let’s Encrypt certificates are valid for 90 days. Depfloy renews them automatically about 30 days before they expire. If automatic renewal fails for some reason, the Domains tab shows the affected certificate and offers a Renew now action.
If you ever need to start over with a certificate, click Renew to re-issue from scratch.
Redirects #
You can redirect one domain to another from this tab — useful for canonicalising www to non-www or vice versa. Pick a source domain, pick a target, save. The redirect is configured in nginx and applies immediately.
Remove a domain #
Click Remove on a domain row to remove it. Depfloy updates nginx to drop the domain. If you had SSL on the domain, the certificate is also revoked.
A platform preview is retained separately from customer-managed domains. Removing a production primary domain does not delete the project’s reserved preview address.
API #
For programmatic access — registering domains during automated provisioning, for example — see Domains API.