Ghost
A publishing platform for websites, newsletters, memberships, subscriptions, and editorial workflows.
Why consider Ghost?
Ghost is an open-source, professional publishing platform and headless Node.js CMS designed for modern journalism, newsletter publishing, and paid membership communities.
Learn Ghost by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide3 sections
Ghost: Open Source Publishing Platform and Headless Node.js CMS
Ghost is an open source, professional publishing platform built on a modern Node.js technology stack — designed for teams who need power, flexibility and performance (Ghost Introduction). Originating as an independent project dedicated to creating an unencumbered environment for professional publishing, Ghost has grown into one of the most widely adopted publishing systems in the developer and creator ecosystems (Ghost GitHub Repository). The software is released under the permissive MIT License, guaranteeing full freedom to inspect, host, and modify the platform.
Architecture and Publishing Features
At its core Ghost is a self-consuming, RESTful JSON API with decoupled admin client and front-end (Ghost Introduction). This architecture provides technical teams with significant flexibility: you can utilize the default templating layer or operate Ghost entirely as a headless content management system coupled with modern static site generators or mobile applications. Ghost lets you turn your audience into a business with native support for member signups and paid subscription commerce (Ghost Introduction). Because monetization and membership tiers are native to the core rather than bolted on via external scripts, reader management remains streamlined and performant.
Content creation within Ghost centers around an advanced authoring experience. All content is stored in a standardised JSON-based document storage format called Lexical, which includes support for extensible rich media objects called Cards (Ghost Introduction). This structured document format preserves clean semantic output across diverse distribution channels. Furthermore, Ghost has all the fundamental technical SEO optimisations built directly into core, without any need to rely on third party plugins (Ghost Introduction). Built-in features automatically generate XML sitemaps, structured JSON-LD metadata, canonical tags, and OpenGraph tags to ensure optimal search visibility out of the box.
Fast Local Setup with Ghost-CLI
For developers evaluating the platform or crafting bespoke themes, Ghost-CLI is a commandline tool to help you get Ghost installed and configured for use, quickly and easily (Ghost Local Installation). The command-line utility automates directory provisioning, dependency installation, and local runtime configuration.
To get started on your development machine, first install the CLI globally:
npm install ghost-cli@latest -gAfter installing the CLI tool, create an empty directory, navigate into it, and initialize a local instance using the following command (Ghost Local Installation):
ghost install localExecuting this command completes a local Ghost install that runs in development mode using SQLite3 (Ghost Local Installation). The automated wizard binds the server to local port 2368, enabling immediate access to the frontend and the administrative dashboard. During local execution, Ghost runs in a separate background process and remains running until you stop it or restart your computer (Ghost Local Installation). Developers can quickly control the background instance using commands like ghost start, ghost stop, or ghost log.
Production Server Deployment on Ubuntu
When moving beyond a local prototype to a live deployment, the project provides comprehensive self-hosting instructions. This the official guide for self-hosting Ghost using our recommended stack of Ubuntu 22.04, 24.04 or 26.04 (Ghost Ubuntu Installation). A standard production installation pairs Ghost with an NGINX reverse proxy, Node.js, and a dedicated database engine. Ghost uses an NGINX server and the SSL configuration requires NGINX 1.9.5 or higher (Ghost Ubuntu Installation).
In production environments, the CLI guides operators through database provisioning and automatic SSL certificate generation via Let's Encrypt. By the end of this guide you’ll have a fully configured Ghost install running in production using MySQL (Ghost Ubuntu Installation).
To deploy a full production instance inside your prepared /var/www/ web directory, run the primary installation command (Ghost Ubuntu Installation):
ghost installThe installer configures Systemd unit files to ensure the application automatically restarts after server reboots, connects to MySQL, and secures the endpoint with TLS encryption. Operators can stay informed on stable release tags and new feature milestones by tracking the official Ghost Releases.
Related tools
More options with a similar category or technology profile.
Mayan EDMS
Free Open Source Electronic Document Management System with digital signatures.
Docspell
Personal document organizer that automates OCR, tagging, and metadata extraction.
Gollum
Simple, Git-powered wiki system that powers GitHub Wikis.
Docsify
A magical documentation site generator that parses Markdown on the fly.