ConfigsApr 14, 2026·3 min read

Ghost — Professional Publishing Platform for Modern Journalism

Ghost is an open-source publishing platform built for professional publishers. It bundles a blazing-fast Node.js CMS, Substack-style paid memberships, email newsletters, and SEO — everything a modern publication needs, self-hosted.

Introduction

Ghost was launched in 2013 as "WordPress done right for writers". Over the years it evolved into a full publishing platform with memberships, email newsletters, and tiered paid subscriptions — directly competitive with Substack while being open-source and self-hostable.

With over 52,000 GitHub stars, Ghost powers publications like Sky News, Buffer, OpenAI (blog), Square, Stripe Press, and thousands of independent writers. The Ghost Foundation (non-profit) owns the project, giving long-term stewardship away from investor pressure.

What Ghost Does

Ghost provides a JSON REST API, an admin UI, a theme system (Handlebars templates), a powerful editor (Koenig, built on Lexical), and a membership platform with Stripe integration. It can drive a website, a newsletter-only publication, an API-only headless setup, or all three at once.

Architecture Overview

[Node.js Backend (Ghost)]
        |
[Admin + Content APIs (REST)]
        |
+-------+-------+---------+---------+
|       |       |         |         |
Posts Members Emails Themes  Integrations
       Stripe   Mailgun    Zapier/Webhooks
        |
[Theme System (Handlebars)]
   default Casper theme, 100s of community themes
        |
[Storage]
   MySQL (production) or SQLite (dev)
   file uploads (local / S3 / GCS)

Self-Hosting & Configuration

// config.production.json
{
  "url": "https://blog.example.com",
  "server": { "port": 2368, "host": "127.0.0.1" },
  "database": {
    "client": "mysql",
    "connection": {
      "host": "localhost",
      "user": "ghost",
      "password": "changeme",
      "database": "ghost_prod"
    }
  },
  "mail": {
    "transport": "SMTP",
    "options": {
      "service": "Mailgun",
      "auth": { "user": "postmaster@...", "pass": "..." }
    }
  },
  "storage": { "active": "local" },
  "logging": { "transports": ["stdout"] }
}
# Common Ghost CLI commands
ghost start / stop / restart
ghost ls                  # list installed instances
ghost update              # upgrade to latest Ghost
ghost backup              # DB + content dump

# Deploy workflow (self-hosted)
# 1. Point DNS to the server
# 2. ghost install -> pick Letsencrypt SSL
# 3. Configure Stripe + Mailgun in Admin UI -> Settings -> Membership / Email
# 4. Install a theme: Admin -> Design -> Upload theme .zip

Key Features

  • Koenig editor — modern block editor with cards (email, CTA, gallery, code)
  • Memberships + paid subscriptions — Stripe-backed, tiered access
  • Email newsletters — built-in delivery via Mailgun, Amazon SES, SMTP
  • Headless or full CMS — Content API powers Gatsby, Next.js, Astro frontends
  • Themes — Handlebars templates, hot-reloadable
  • SEO + performance — fast Node.js, AMP, structured data, sitemaps
  • Multi-language — i18n in admin UI and theme rendering
  • Zapier / Webhooks / REST API — full integration surface

Comparison with Similar Tools

Feature Ghost WordPress Substack Medium Hugo / Astro
Self-hostable Yes Yes No No Yes (static)
Paid memberships Built-in (Stripe) Plugins Built-in Built-in Manual
Email newsletters Built-in Plugins Built-in Limited Via 3rd party
Theme ecosystem Moderate Largest None None Growing
Speed Very fast Depends on plugins SaaS SaaS Fastest (static)
Hosting cost (self) Low Low Free Free Very low
Best For Pro publishers + paid lists Universal CMS Managed newsletters Managed blogging Static-site blogs

FAQ

Q: Ghost vs Substack? A: Ghost is self-hosted + you own everything (content, subscriber list, CSS, domain). Substack is managed but takes a 10% revenue cut + ties you to their newsletter domain. Many publications migrate from Substack to Ghost once revenue exceeds the hosting cost difference.

Q: Ghost vs WordPress? A: WordPress is more flexible (plugins for everything), Ghost is more focused (fast, modern writing + publishing UX, built-in paid memberships). For a tech-minded writer, Ghost is lower-maintenance.

Q: Can I use Ghost headless? A: Yes. Point any static site generator (Gatsby, Next.js, Astro, 11ty) at the Content API and render posts wherever you want. Ghost provides the CMS + memberships; your frontend handles the UX.

Q: What about Ghost(Pro)? A: Ghost(Pro) is the managed service from the Ghost Foundation (revenue funds the open-source project). Same software, just hosted. $9–$199/mo based on member count.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets