Skip to main content

Goal

Route a domain you own to a published VPS app after explicit ownership and address verification.

Prerequisites

  • An existing web publication and access to the domain’s authoritative DNS records.

Workflow

1
Open Compute → your VPS → Publishing, then choose Domains on the relevant web route.
2
Enter the exact domain or subdomain, such as app.example.com, and click Add domain.
3
Copy the TXT record name and value displayed under the new pending domain.
4
At your DNS provider, create that TXT record and point the hostname directly to the edge A or AAAA address shown in the same dialog.
5
After DNS resolves to those values, return to Publishing and click Verify DNS. Open the domain over HTTPS once it shows Verified.

Which DNS records to create

  • TXT: use the exact _stackshift-verify name and stackshift= value displayed for this domain. It proves that you control the hostname.
  • A: point the hostname to the edge IPv4 address shown in the Domains dialog when one is provided.
  • AAAA: point the hostname to the edge IPv6 address shown in the dialog when one is provided. Do not invent an IPv6 address if the dialog only shows IPv4.
  • Set the A/AAAA record to direct DNS resolution. If your DNS provider has a proxy mode, turn it off for verification; the checker requires the hostname to resolve to the StackShift edge address itself.

DNS checks

  • StackShift checks both the TXT token and the domain’s resolved address. Every returned A/AAAA answer must be a configured StackShift edge address; remove old or extra addresses before verification.
  • DNS changes can take time to reach StackShift’s resolver. If Verify DNS reports a conflict, check the exact TXT name and value plus every A/AAAA answer, then retry.
  • Verification is checked again after activation. Repeated failed revalidation withdraws the custom-domain route until ownership and routing are verified again.

Certificates and moving an existing domain

Once ownership and routing pass, StackShift serves the hostname at the edge and handles its public HTTPS certificate. Configure the same hostname in the guest app or Coolify/Dokploy proxy if that software routes by Host name. Adding a domain in StackShift does not change DNS for you or remove an old site. If this hostname currently serves traffic elsewhere, configure the guest app first, then change its DNS records at your provider. Existing domains do not move automatically.

Limits and removal

  • Each web publication accepts up to two custom domains. A hostname is reserved to its account; a cross-account transfer needs support review.
  • Removing a domain withdraws its edge route through reconciliation. Unpublishing the parent route removes its attached custom domains as well.
  • The StackShift subdomain on the publication is independent of its custom domains and remains available while the publication is active.

Expected result

The verified hostname is served by the same publication and guest HTTP port as its StackShift hostname.

Common failures

  • A DNS verification conflict: check the exact TXT token and every A/AAAA answer, including old records and proxy-generated addresses.
  • A correct certificate but wrong app response: configure the custom hostname inside the guest application or its Coolify/Dokploy proxy.

Publish a VPS web app

Map a StackShift HTTPS hostname to one selected HTTP port on a full-root Compute VPS.

Use a VPS with Coolify or Dokploy

Use Edge SSH to manage the VPS remotely and Web publishing to expose an app already running behind Coolify or Dokploy.

Troubleshoot Compute publishing

Use the Publishing status and connection symptom to check the right guest port, SSH key, DNS record, or client IP restriction.