Skip to main content
Live with caveats. This area is real and usable, but the docs intentionally call out operational or UX limits that still matter.

Goal

Operate the publication on its intended hostname without splitting ingress routing from Ghost’s internal canonical URL.

Prerequisites

  • A running native Ghost project
  • Control of the DNS zone for a custom domain

Workflow

1
Open Ghost Admin from the project overview and create the first owner in Ghost.
2
Point the desired hostname to the StackShift ingress target.
3
In the Ghost overview, enter the hostname under Publication domain.
4
Choose Verify and attach.
5
Confirm the public site and /ghost/ both load on the new hostname.

Generated site and admin URLs

Every site receives an HTTPS publication URL. The admin URL is the publication URL plus /ghost/. StackShift stores both URLs as Ghost installation metadata but does not proxy or replace Ghost’s own authentication.

Attach a domain safely

  • Enter a hostname such as publication.example.com; StackShift normalizes schemes and trailing dots.
  • DNS readiness is validated before the routing change is accepted.
  • StackShift updates the native stack route and Ghost’s url environment value together, then redeploys the stack.
  • The project custom-domain field and Ghost installation URLs are updated only after the runtime update succeeds.

Why the canonical URL matters

Ghost uses url when generating absolute links, member emails, redirects, canonical metadata, and admin URLs. Changing DNS without attaching the domain in StackShift can leave Ghost generating links for the old generated hostname.

Domain-change precautions

  • Create a recovery point before a high-traffic production hostname change.
  • Keep the old DNS record available until the new route is verified.
  • After attachment, check the home page, a post, an image, member signup, and /ghost/.
  • Update external integrations that allowlist the previous callback or origin URL.

Expected result

StackShift routing, the project custom domain, Ghost’s url setting, the public site URL, and the admin URL all use the same HTTPS hostname.

Common failures

  • DNS does not yet resolve to the expected StackShift ingress.
  • A full URL with a path is pasted; only the hostname is used.
  • The runtime is still provisioning or another lifecycle operation is active.
  • Cached DNS or browser redirects make the old hostname appear active temporarily.

Deploy a native Ghost site

Create a fresh Ghost publication on StackShift Managed infrastructure or a connected node, follow provisioning, and complete owner setup securely in Ghost.

DNS records and project connection

Manage DNS records and connect domains to projects or other runtime surfaces.

Ghost recovery points and restore

Capture Ghost’s MySQL data, persistent content, and exact runtime release as one coordinated recovery point, then restore the complete set through a durable operation.