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
| Feature | Description |
|---|---|
| Editor | Rich block editor with Markdown, embeds, cards |
| Newsletters | Built-in, no Mailchimp needed |
| Memberships | Free + paid tiers via Stripe |
| SEO | Native meta tags, sitemaps, structured data |
| Themes | Handlebars templates, Casper default |
| API | Content API (public) + Admin API |
| Speed | 200-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
| Aspect | Ghost | WordPress |
|---|---|---|
| Focus | Publishing | Everything |
| Speed | ⚡ 200-500ms | 800-2000ms |
| Editor | Modern block editor | Gutenberg (newer) |
| Newsletters | ✅ Built-in | Plugin needed |
| Memberships | ✅ Native Stripe | Plugin needed |
| Plugins | ❌ (by design) | 60,000+ |
| Themes | Handlebars | PHP |
| Security | Smaller surface | High attack surface |
| SEO | ✅ Native | Plugin (Yoast) |
| Cost (hosted) | $9-199/mo | $4-45/mo |
| Self-hosted | Free | Free |