Goal
Understand what StackShift creates for a Ghost site, which responsibilities StackShift owns, and how this differs from a template or source deployment.Prerequisites
- Native Ghost must be enabled in your StackShift environment
- Hosted sites require an Ignite, Pro, or Enterprise plan
- Connected-node sites require a healthy node reporting at least 1 GB of available memory
Workflow
1
Choose Ghost Site from the project creation screen.
2
Select a tested Ghost release from StackShift’s curated runtime catalog.
3
Choose StackShift Managed placement or a connected node with validated capacity.
4
Let the Ghost lifecycle worker provision the project, managed database, private mail bridge, native stack, route, and health state.
5
Open the generated admin URL and create the first Ghost owner directly in Ghost.
Native runtime, not a template
Native Ghost is a dedicated StackShift resource type. Creating a site does not render a marketplace template, clone a repository, generate a Dockerfile, or run a customer source build. StackShift selects an official Ghost image only from a curated runtime catalog. Every catalog entry contains an exact Ghost version, an exact SHA-256 image digest, MySQL compatibility, a minimum-memory requirement, and explicit supported upgrade predecessors. Arbitrary image tags are rejected.Resources StackShift creates
- One Ghost project and one native runtime stack.
- A digest-pinned Ghost web service on internal port 2368.
- A 10 GB persistent volume mounted at
/var/lib/ghost/contentfor themes, images, and other content files. - A separate StackShift-managed MySQL 8.0 database, initially provisioned with 5 GB of storage.
- A private, digest-pinned SMTP bridge sidecar for transactional delivery through StackShift Mail when mail is enabled.
- A generated StackShift domain, or a verified custom domain supplied during creation.
- A durable operation record that exposes provisioning progress, retries, and the last failure.
Runtime resources and isolation
Ghost receives the CMS resource profile: 1 CPU and 1 GB of memory. The private mail bridge receives 0.1 CPU and 128 MB of memory.- Ignite and other standard hosted tiers run the native services with containerd and runc in shared-container isolation.
- Pro and Enterprise run the same native specification with containerd and Kata VM-backed isolation.
- The isolation decision is made from the account plan; it is not a user-supplied runtime option.
- Connected-node placement is accepted only when the selected healthy or degraded node reports at least 1,024 MB available and is not draining.
Ownership and security boundaries
- StackShift never asks for or stores the Ghost owner password. Owner setup happens on the official Ghost
/ghost/screen. - The database is managed outside the Ghost stack and is linked to the project for lifecycle and recovery operations.
- The mail bridge is not the exposed service. It receives a hashed, project-bound, mail-only credential.
- The control plane supplies an immutable digest-qualified image, and the agent rejects any resolved-digest mismatch.
- Only the project owner or a team member with the required project permission can read or mutate Ghost resources.
Current tested catalog
The creation wizard andGET /api/v1/ghost/runtime-options are the source of truth. At the time of this documentation, Ghost 6.57.1 is the only selectable release. Ghost 5.130.5 and 6.56.0 are retained only as upgrade predecessors so existing installations have tested paths to 6.57.1; they cannot be selected for a new deployment. Catalog contents can change after StackShift qualification.
What is outside the native Ghost scope
- Importing or migrating an existing Ghost publication.
- Installing arbitrary themes through StackShift’s control plane.
- External or customer-managed databases.
- Automatic unattended Ghost upgrades.
- ActivityPub and analytics sidecars such as Tinybird.
Expected result
You have a native Ghost project with a public publication URL, a separate
/ghost/ admin URL, managed MySQL 8, persistent content, and no customer build or Dockerfile record.Common failures
Related guides
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.
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.
Ghost troubleshooting and limitations
Diagnose native Ghost provisioning, database, image, routing, mail, recovery, staging, and upgrade failures using persisted operation state and clear resource boundaries.