Ghost Self-Hosted
BeginnerWebsiteSelf-hosted Ghost: publishing, memberships, and newsletters with your content and members on your own server.
Published 27 September 2026
About Ghost Self-Hosted
Ghost is an open-source publishing platform for blogs, newsletters, and paid publications. The editor, themes, member sign-ups, paid subscriptions through Stripe, and newsletter sending are all built in, and Ghost takes no cut of subscription revenue. A Content API also lets a custom frontend use Ghost as a headless CMS.
Self-hosting keeps content and members on your server. MySQL 8 is Ghost's only production database, and it holds posts, members, and settings; images and themes live in Ghost's content folder beside it. Ghost's own guidance is at least 1 GB of memory, and its Docker guide's example is a 2 GB server.
Newsletters need Mailgun, the only bulk email service Ghost supports, billed separately by volume. Two Ghost 6 features also reach outside your server: the social web (ActivityPub) runs on Ghost's hosted service, free for self-hosters up to 2,000 followers, and Traffic Analytics needs a Tinybird account. Everything else runs locally.
It suits independent writers, newsletters, and small media companies that want a purpose-built publishing platform while owning their member list, especially once Ghost(Pro)'s audience-based pricing starts to climb.
Key Features
- ✓Editor with cards for images, embeds, and paid-content paywalls
- ✓Member sign-ups with free and paid tiers, billed through Stripe with no revenue cut
- ✓Built-in newsletter sending through Mailgun
- ✓Content API for headless use with any frontend framework
- ✓Handlebars themes from Ghost's marketplace or built in-house
- ✓MySQL storing posts and members on your own server
When to Use Ghost Self-Hosted
- →Independent writers building a subscription newsletter or paid publication
- →Media companies running publications without audience-based hosting fees
- →Developers using Ghost as a headless CMS behind a custom frontend
- →Company blogs with built-in member sign-up and email updates
- →Creators moving off a hosted newsletter platform who want to own their member list
Pros
- Purpose-built for publishing, with the editor, memberships, and newsletters in one tool
- No per-member hosting cost; the server price doesn't change with audience size
- Stripe payments with no platform cut on subscriptions
- Content API supports headless use alongside the native theme system
Cons
- Newsletters need a Mailgun account, billed by volume on top of the server
- Production runs on MySQL 8 only, with no PostgreSQL option
- Traffic Analytics and a larger social-web following depend on outside services
- Theme development means learning Handlebars
Hosting Options for Ghost Self-Hosted
A flat-rate root VPS from around €4-5/mo, whose entry instance already has 4 GB of memory, well above Ghost's 1 GB floor and the 2 GB its Docker guide uses. That headroom lets one server hold several Ghost sites or a busy publication, with MySQL backups and updates left to you.
Ghost's own Docker guide uses a 2 GB / 1 CPU Droplet as its example, about $12/mo, with snapshots and a cloud firewall in the panel. Managed MySQL (from about $15/mo) can take the database off the Droplet with automated backups, which protects the member list.
Deploys Ghost from its Docker image with a MySQL database and a volume for the content folder, redeploying on each new release. The volume is not optional: without it, uploaded images disappear on the next deploy. Railway terminates TLS itself, so the reverse proxy or PaaS choice doesn't apply. Expect roughly $10/mo with the database attached.
These are highlighted picks. To see all the tools, check the Hosting & Cloud category.
Reverse Proxy Options for Ghost Self-Hosted
Routes to the Ghost container from Docker labels and renews Let's Encrypt certificates, in place of the Caddy container in Ghost's Docker install. Forward X-Forwarded-Proto and set Ghost's url to the https address; if Ghost thinks requests arrive over plain HTTP, it redirects them in a loop.
What Ghost's official Docker install ships: a Caddy container that obtains certificates and terminates TLS in front of Ghost. Choosing it keeps you on the official Compose file and its update command, the least work to maintain.
Self-Hosted PaaS Options for Ghost Self-Hosted
Free and self-hosted, with a one-click Ghost template that provisions MySQL beside it and HTTPS through Coolify's bundled proxy. Check that the content folder is on a persistent volume and included in backups, since images and themes live there, not in the database.
Ghost Self-Hosted Add-ons
Each addition below extends this stack with a capability the base stack works fine without. None are required: include the ones your product actually needs when building this stack, and skip the rest.
Tunnel Add-ons
Add a tunnel when you're self-hosting without a static IP or can't open inbound ports — a home server, a VPS behind restrictive network policies, or anywhere a reverse proxy alone can't reach the internet.
Makes Ghost reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for a server on a home network. Set Ghost's url to the tunnel's public hostname, since member sign-in links and newsletter links are built from it.
Frequently Asked Questions about Ghost Self-Hosted
Why self-host Ghost instead of using Ghost(Pro)?
Audience-based pricing. Ghost(Pro) starts at $15/mo billed yearly ($18 month-to-month) for 1,000 members, paid subscriptions need Publisher from $29/mo, and every plan's price rises with member count. A self-hosted Ghost has every feature, including paid memberships, for the cost of a server and Mailgun, whatever the audience size. Ghost(Pro) bundles what you'd otherwise run: updates, backups, email sending, analytics, and a CDN, and its revenue funds Ghost's development. Small publications with no interest in operations often do better there.
What does the server need to run?
Ghost's production guide asks for at least 1 GB of memory, and its Docker guide uses a 2 GB, 1 CPU server as the example; 2 GB is the comfortable size once MySQL, Ghost, and the proxy share the box. The database must be MySQL 8, since Ghost supports no other engine in production. Disk depends mostly on images: the content folder grows with every upload, while the database stays small.
What does sending newsletters cost on top of the server?
Ghost sends newsletters only through Mailgun, so budget for it separately. Mailgun's free plan allows 100 emails a day, which covers testing but not a real list. Paid plans start at $15/mo for 10,000 emails a month and $35/mo for 50,000, so a weekly newsletter to 2,000 subscribers fits the first tier. Sign-in links and other transactional emails go through ordinary SMTP, which can be a different provider.
What needs backing up, and how do upgrades work?
Two things: the MySQL database (posts, members, settings) and Ghost's content folder (images, themes, and files). Ghost's JSON export covers posts and settings but not images, so it doesn't replace a real backup. With the Docker install, upgrading is git pull, docker compose pull, and docker compose up -d; with Ghost-CLI it's ghost update. Back up first, and read the notes for major versions, which can change themes' requirements.
Should I install Ghost with Ghost-CLI or Docker?
Ghost-CLI on Ubuntu is the long-standing production path: it installs Ghost directly, sets up NGINX with a Let's Encrypt certificate, and upgrades with one command. The Docker Compose install arrived with Ghost 6 as a preview of Ghost's new self-hosting tools; it bundles Caddy for HTTPS and can add the self-hosted ActivityPub and analytics services. Either way you don't need a separate reverse proxy. Choose Docker when the server already runs containers, and Ghost-CLI when Ghost has the server to itself.
Stacks Related to Ghost Self-Hosted
W&B Self-Hosted
InfrastructureSelf-hosted Weights & Biases on your own Kubernetes cluster, with MySQL and your own object storage.
Strapi Self-Hosted
InfrastructureSelf-hosted Strapi: an open-source headless CMS with PostgreSQL, on a server you control.
Grafana Self-Hosted
InfrastructureSelf-hosted Grafana and Prometheus: metrics dashboards and alerting on a server you run.
Airflow Self-Hosted
InfrastructureSelf-hosted Apache Airflow: the standard data-pipeline scheduler on your infrastructure.
Scores
Popularity4/5
Ghost is one of the best-known open-source publishing platforms and a standard fixture in any best-blogging-platform conversation among developers.
Learning Curve2/5
Ghost is famously easy to run, one container and one database, and the admin UI is one non-technical publishers can drive.
Flexibility3/5
Publishing, memberships, newsletters, and paid subscriptions, done extremely well and nothing else: a purpose-built platform rather than a general one.
Performance4/5
A small instance serves a blog at serious traffic, and Ghost(Pro) runs this same software for its hosted customers at scale.
Portability4/5
Content exports to JSON, the MySQL database is yours, and Ghost(Pro) accepts the same export as a supported import path.
Tools in the Ghost Self-Hosted Stack
Ghost Self-Hosted Pricing
Self-hosted Ghost is free with every feature, including memberships and paid subscriptions, and MySQL and Docker cost nothing either. The recurring costs are the server and Mailgun for newsletters, which is free up to 100 emails a day and $15/mo for 10,000 a month. Ghost(Pro) starts at $15/mo billed yearly for 1,000 members and rises with audience size, with email sending included.
1 GB of RAM is Ghost's floor and 2 GB the comfortable size with MySQL on the same server; images drive disk growth.
Members, paid subscriptions via Stripe, and newsletters are all in the free self-hosted edition.
Mailgun is the only bulk email service Ghost supports: 100 emails a day free, then $15/mo for 10,000 and $35/mo for 50,000.
Ghost Self-Hosted System Requirements
source- RAM
- At least 1 GB
- OS
- Ubuntu 22.04, 24.04, or 26.04 (the recommended production setup)
- Database
- MySQL 8.0 or 8.4 (the stack uses MySQL)
- Web server
- NGINX 1.9.5 or higher for SSL
Every value comes from Ghost's official production prerequisites; beyond them the vendor publishes no CPU or disk floor.