# 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. ## Install Save in your project root: # Ghost — Modern Publishing for Creators ## Quick Use ```bash # Install Ghost CLI npm install -g ghost-cli # Local dev ghost install local # Visit http://localhost:2368/ghost to sign up # Production server (Ubuntu + Nginx + MySQL + Node LTS) sudo -i -u ghost-mgr mkdir /var/www/blog && cd /var/www/blog ghost install # interactive: domain, DB, SSL, systemd service ``` ## 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 ```json // 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"] } } ``` ```bash # 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 - GitHub: https://github.com/TryGhost/Ghost - Website: https://ghost.org - Foundation: Ghost Foundation (non-profit) - License: MIT --- Source: https://tokrepo.com/en/workflows/300e919c-381e-11f1-9bc6-00163e2b0d79 Author: AI Open Source