TL;DR — Quick Summary

Deploy Ghost CMS for self-hosted blogging, newsletters, and membership sites. Covers Docker setup, theme customization, newsletter integration, SEO, and comparison with WordPress.

What Is Ghost?

Ghost is a professional publishing platform for blogs, newsletters, and membership sites. It’s the modern, fast, focused alternative to WordPress — built for content creators who want clean publishing without plugin bloat.

docker run -d --name ghost -p 2368:2368 \
  -v ghost-content:/var/lib/ghost/content \
  -e url=https://blog.yourdomain.com \
  ghost:latest

Key Features

FeatureDescription
EditorRich block editor with Markdown, embeds, cards
NewslettersBuilt-in, no Mailchimp needed
MembershipsFree + paid tiers via Stripe
SEONative meta tags, sitemaps, structured data
ThemesHandlebars templates, Casper default
APIContent API (public) + Admin API
Speed200-500ms load times

Docker Compose

services:
  ghost:
    image: ghost:latest
    container_name: ghost
    restart: always
    ports:
      - "2368:2368"
    environment:
      url: https://blog.yourdomain.com
      database__client: mysql
      database__connection__host: db
      database__connection__user: ghost
      database__connection__password: ghostdbpass
      database__connection__database: ghost
      mail__transport: SMTP
      mail__options__host: smtp.mailgun.org
      mail__options__port: 587
      mail__options__auth__user: postmaster@yourdomain.com
      mail__options__auth__pass: your_mailgun_key
    volumes:
      - ghost-content:/var/lib/ghost/content
    depends_on:
      - db

  db:
    image: mysql:8.0
    container_name: ghost-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: rootpass
      MYSQL_DATABASE: ghost
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghostdbpass
    volumes:
      - ghost-db:/var/lib/mysql

volumes:
  ghost-content:
  ghost-db:

Ghost vs WordPress

AspectGhostWordPress
FocusPublishingEverything
Speed⚡ 200-500ms800-2000ms
EditorModern block editorGutenberg (newer)
Newsletters✅ Built-inPlugin needed
Memberships✅ Native StripePlugin needed
Plugins❌ (by design)60,000+
ThemesHandlebarsPHP
SecuritySmaller surfaceHigh attack surface
SEO✅ NativePlugin (Yoast)
Cost (hosted)$9-199/mo$4-45/mo
Self-hostedFreeFree