Back to Blog
Comparison10 min read2026-06-23

Best Ghost Blog Hosting in 2026

Ghost is a Node.js publishing platform that needs a persistent server, a MySQL database, and durable storage for images. Here's a fair 2026 guide to hosting Ghost yourself versus Ghost(Pro).

Ajay Kumar
Ajay Kumar
Founder & DevOps, PandaStack

Ghost is a clean, fast, open-source publishing platform built on Node.js. Creators love it for the writing experience, built-in memberships, and newsletters. But hosting Ghost has specific requirements that catch people out: it's a long-running Node server (not static), it needs a MySQL 8 database in production, and it needs durable storage for uploaded images. Get those right and Ghost is a joy to run. Here's a fair 2026 guide.

What Ghost actually requires in production

  • A persistent Node.js process — Ghost serves the admin, the API, and (by default) the front-end. It is not a static site.
  • MySQL 8 — Ghost officially requires MySQL 8 for production (SQLite is for local dev only).
  • Durable file storage — uploaded images go to content/images on the filesystem by default. On ephemeral container filesystems, those disappear on redeploy unless you use persistent storage or a storage adapter (S3-compatible).
  • Outbound email — for member signups and newsletters (Mailgun is Ghost's documented bulk-email provider).
  • A reverse proxy + TLS — for the public site.

The storage point is the single biggest self-hosting gotcha: a container that resets its filesystem on deploy will lose all uploaded images unless you configure persistent volumes or an object-storage adapter.

Hosting paths at a glance

OptionEffortMySQLImage storageNotes
Ghost(Pro)None (managed)HandledHandledOfficial; funds Ghost dev
PandaStackLowManaged MySQL 8.xPersistent volume / S3 adapterContainer + bundled DB
DigitalOcean DropletHighYou installLocal disk / SpacesFull control, full ops
RenderMediumManagedPersistent diskMature PaaS
Generic VPSHighYou installYou configureCheapest, most work

Ghost(Pro) — the managed official option

The simplest path is Ghost(Pro), the official managed hosting from the Ghost team. It handles MySQL, storage, CDN, upgrades, and email, and your subscription directly funds Ghost's open-source development. If you want zero infrastructure work and don't mind the price, it's the obvious choice — and supporting the project is a genuine plus. The reasons to self-host are cost at scale, control, or consolidating Ghost with your other apps.

PandaStack

For self-hosting Ghost without operating MySQL or worrying about image loss, PandaStack covers the tricky parts. Deploy the official Ghost container image, provision a managed MySQL (8.x), and the connection details are available to Ghost's config; backups are scheduled.

Why it fits Ghost:

  • Managed MySQL 8.x — Ghost's required production database, with scheduled and manual backups, so you don't run MySQL yourself.
  • Container deployment of the official Ghost image, with automatic SSL and a custom domain.
  • Solving the image-storage gotcha — use a persistent volume or configure an S3-compatible storage adapter so uploaded images survive redeploys (don't rely on the ephemeral container filesystem).
  • Email — Ghost uses Mailgun for bulk newsletters; configure it via env/config.

Configure Ghost via environment variables, e.g.:

url=https://blog.yourdomain.com
database__client=mysql
database__connection__host=...
database__connection__user=...
database__connection__password=...
database__connection__database=ghost
mail__transport=SMTP
mail__options__service=Mailgun

Honest caveats: Ghost is stateful in two ways (the MySQL DB and uploaded files), so you must configure durable storage for images — a plain stateless container will lose them. Run Ghost on an always-on tier, not the scale-to-zero free tier, so the admin and members site stay responsive. Free-tier databases are dev/hobby-sized; for a real blog with members, size the MySQL appropriately. PandaStack is newer with a growing ecosystem.

DigitalOcean Droplet

The traditional self-host: a Droplet with the official ghost-cli, which scaffolds Nginx, MySQL, and Let's Encrypt for you. Full control and low fixed cost, but you own OS patching, MySQL, backups, and upgrades. DigitalOcean even publishes a Ghost 1-Click image. Great for tinkerers; real ongoing maintenance.

Render

Render can host the Ghost container with a managed database and a persistent disk for images, with predictable per-instance pricing. A solid managed-PaaS middle ground between Ghost(Pro) and a raw VM.

Generic VPS

The cheapest option is any low-cost VPS with ghost-cli. Maximum savings, maximum responsibility — you handle everything. Fine if you enjoy sysadmin work and your blog's uptime isn't business-critical.

How to choose

  • Want zero ops + support the project → Ghost(Pro).
  • Want to self-host with a managed MySQL and bundled platform → PandaStack (always-on tier, durable image storage).
  • Want full control at low fixed cost → DigitalOcean Droplet with ghost-cli.
  • Want a managed PaaS middle ground → Render.
  • Cheapest possible, DIY → generic VPS.

Whatever you pick, nail the two stateful pieces: a real MySQL 8 with backups, and durable image storage. Those are where self-hosted Ghost setups most often go wrong.

References

  • Ghost self-hosting docs: https://ghost.org/docs/install/
  • Ghost(Pro): https://ghost.org/pricing/
  • Ghost configuration reference: https://ghost.org/docs/config/
  • Ghost on Docker: https://hub.docker.com/_/ghost
  • DigitalOcean Ghost 1-Click: https://marketplace.digitalocean.com/apps/ghost

---

Self-hosting Ghost? PandaStack runs the official container, provides a managed MySQL 8 with backups, and handles SSL and custom domains — free to start at https://dashboard.pandastack.io. Remember to configure durable image storage and an always-on tier.

Ready to deploy?

Start free on PandaStack.

Start free on PandaStack

More in Comparison

Browse all Comparison articles →

See also