# Ghost on DigitalOcean

Canonical: https://inetgeek.com/stacks/ghost-on-digitalocean/

DigitalOcean publishes its own guide for deploying Ghost.

Open-source publishing platform running as a long-lived Node process, requiring MySQL in production and a writable content directory for uploads and themes.

## What Ghost needs

Every host claims to run Ghost, so the claim on its own decides nothing. These are the things Ghost requires from the platform underneath it, and what DigitalOcean publishes about each. DigitalOcean documents 5 of the 6.

| Requirement | DigitalOcean | Why it matters |
| --- | --- | --- |
| Persistent storage | Supported | Ghost writes uploaded images and installed themes into its content directory at runtime. On an ephemeral filesystem those disappear at the next deploy, and the posts referencing them break. |
| Managed databases | Supported | Ghost 5 supports only MySQL 8 for production. SQLite works for development, so a guide that sets one up is not showing you a production install. |
| Persistent processes | Supported | Ghost is one long-running Node process that serves requests and fires scheduled publishing. It is not a set of functions and cannot be deployed as one. |
| Storage (entry plan) | 10 GiB SSD on the cheapest Basic Droplet (Regular CPU, 512 MiB / 1 vCPU, $4.00/mo). | A publication's image library grows steadily and is almost never pruned, so disk is the cap a busy Ghost site reaches before any other. |
| Scheduled jobs | Supported | Ghost publishes posts at a future time and sends newsletters on a schedule, both fired by timers inside the running process. A host that sleeps the process or offers no scheduler will publish late or not at all. |
| Backup retention | Not documented | A Ghost install is a MySQL database plus a content directory, and losing either loses the publication. How far back the host's own backups reach is the difference between an incident and an outage. |

- Persistent storage source: https://docs.digitalocean.com/products/volumes/details/features/
- Managed databases source: https://docs.digitalocean.com/products/databases/
- Persistent processes source: https://docs.digitalocean.com/products/droplets/
- Storage (entry plan) source: https://www.digitalocean.com/pricing/droplets
- Scheduled jobs source: https://docs.digitalocean.com/products/functions/how-to/schedule-functions/

## What DigitalOcean documents

> In addition to creating a Droplet from the Ghost 1-Click App via the control panel, you can also use the DigitalOcean API.

Source: https://marketplace.digitalocean.com/apps/ghost

### Ghost features on DigitalOcean

- **mysql_database**: Supported — Node.js 22 LTS (NodeSource) MySQL 8 nginx (reverse proxy / SSL via Ghost CLI) [...] MySQL server 8.0.29 GPL 2 with modifications ([source](https://docs.digitalocean.com/products/marketplace/catalog/ghost/))
- **smtp_email**: Limited — nginx (reverse proxy / SSL via Ghost CLI) Postfix (loopback-only for mail) fail2ban ([source](https://docs.digitalocean.com/products/marketplace/catalog/ghost/))
- **one_click_install**: Supported — The Ghost 1-Click App allows you to self-host your own Ghost instance up and running in two minutes. [...] After the Ghost One-Click Droplet is created and the domain and DNS records are set up, you'll need to log into the Ghost Droplet to complete its setup. ([source](https://docs.digitalocean.com/products/marketplace/catalog/ghost/))

## What it costs to run there

|  | DigitalOcean |
| --- | --- |
| Entry paid plan | $4.00 |
| Pricing model | billed per second with a minimum charge of 60 seconds or $0.01, whichever is higher |
| When you exceed a cap | Billed automatically — outbound transfer beyond the pooled plan allowance is charged at $0.01 per GiB; inbound transfer is free |
| Regions | Thirteen regions holding 16 datacenters: New York City (NYC1, NYC2, NYC3), Amsterdam (AMS3), San Francisco (SFO2, SFO3), Singapore, London, Frankfurt, Toronto, Bangalore, Sydney, Atlanta, Richmond, Kansas City and Memphis. |

- Entry paid plan source: https://www.digitalocean.com/pricing/droplets
- Pricing model source: https://docs.digitalocean.com/products/droplets/details/pricing/
- When you exceed a cap source: https://docs.digitalocean.com/products/droplets/details/pricing/
- Regions source: https://docs.digitalocean.com/platform/regional-availability/

## Whether it suits you

Teams that want plain Linux virtual machines with predictable per-second billing from $4 a month, and the option of managed databases beside them. App Platform adds Git and Docker deploys on top.

Consider something else if: You want a platform that manages the runtime for you rather than a server you administer.

Written by Palash Bagchi on 2026-09-05. This is a recommendation, not a sourced fact — it carries no citation because it is an opinion.

## Related

- Best hosting for Ghost: https://inetgeek.com/stacks/ghost/
- DigitalOcean: https://inetgeek.com/hosting/digitalocean/
