New: one-click Cloud Apps
All posts

How to self-host Ghost: your own blog and newsletter platform

Robert DavisAugust 13, 20263 min read
Self-HostingPublishingGuides
How to self-host Ghost: your own blog and newsletter platform

A quick disclosure before anything else: the blog you're reading this on runs on Ghost, self-hosted, on our own infrastructure. So this isn't a spec-sheet summary — it's the tool we actually chose to publish with, and here's why you might too.

If you write — a blog, a newsletter, a publication — the modern default is to rent your voice from a platform: Substack takes a cut of your paid subscribers, Medium puts your words behind their paywall and their algorithm, and either can change the terms whenever they like. Ghost is the alternative that lets you own the whole thing: the site, the audience, the subscriber list, and the revenue.

What Ghost is

Ghost is a professional, open-source publishing platform. It started as a clean, fast blogging tool and grew into a full creator platform — the self-hosted answer to Substack, Medium and a good chunk of what people use WordPress for, without the plugin sprawl.

  • A beautiful, distraction-free editor with modern "cards" for embeds, galleries, bookmarks and more.
  • Built-in newsletters and memberships. This is the big one — Ghost has email newsletters and paid subscriptions built in, so you can run a paid publication without a separate service taking a cut.
  • Fast, SEO-friendly, and clean. Ghost sites are quick out of the box, which matters for readers and rankings alike.
  • Themes and full design control, plus a proper API if you want a fully custom front end (which, incidentally, is how this very site renders the blog).
  • Your subscriber list is yours — exportable, portable, never held hostage.

Why self-host it instead of Ghost(Pro) or Substack?

Ghost offers a managed service (Ghost Pro), and Substack is free-to-start — so why run it yourself?

  • You keep 100% of your revenue. Substack takes a percentage of every paid subscription forever. Self-hosted Ghost takes nothing — you pay for a server and your payment processor's standard fee, and the rest is yours.
  • You own your audience and your platform. No algorithm deciding who sees your work, no platform-wide policy that can deplatform you, no company sitting between you and your readers.
  • It's your brand, fully. Your domain, your design, your rules.
  • Cost predictability. A flat server cost instead of a percentage that grows exactly as your success does.

For a hobby blog, the calculus is about ownership. For a paid newsletter with real subscribers, it's also straightforward money: a percentage of a growing revenue stream is a lot more than the cost of a server.

What Ghost needs (set expectations)

We run it, so here's the honest technical picture. Ghost is a Node.js application backed by a MySQL database, and a proper install is a small stack rather than a single container:

  • The app plus a MySQL/MariaDB database — Ghost is particular about its database, so this isn't optional.
  • Reasonable resources — it's not heavy, but it's a real app; give it a modest amount of RAM.
  • A working email setup for newsletters and member emails. This is the part people underestimate: a publication that can't reliably send email isn't much of a publication, so a solid mail path (and good deliverability) matters if you'll use the newsletter features.
  • TLS on your domain, as always.

The email piece is worth dwelling on, because it's the difference between "a blog" and "a newsletter business." Sending bulk email that lands in inboxes rather than spam folders is genuinely its own discipline — one a managed deploy can handle for you so you don't have to become an email-deliverability expert to send your posts.

How to deploy it

A complete Ghost install is the app, its MySQL database, TLS on your domain, and a configured mail path. On a VPS it's a real project — rewarding, and then a standing job to keep the app and database updated and backed up. Or deploy Ghost in one click with the app, database, TLS and IPv6 wired up, and spend your time writing instead of wiring. (For what it's worth, that's the path we took for this blog.)

First steps

  1. Set up your site — title, description, and a theme (Ghost's default is genuinely good; you can customize later).
  2. Write and publish a first post to feel the editor — it's the best part of Ghost.
  3. Configure email before you rely on newsletters, and send yourself a test to confirm it lands.
  4. Decide on memberships — turn on free or paid subscriptions if you're building an audience or a business, and connect your payment processor.
  5. Back it up — your posts and, crucially, your subscriber list are the assets here.

The bigger picture

Ghost is one of the clearest cases where self-hosting isn't just principle — it's ownership of an actual asset: your publication, your audience, and your income from it. It's also a satisfying thing to run, which is partly why we publish this blog on it. If you're weighing whether to bring your writing home, our take on managed self-hosting versus doing it yourself applies especially well to a platform where email deliverability is part of the job.


Deploy Ghost → — or browse the full app catalog of tools you can host and own.

Ready to deploy?

Deploy an app from the catalog in minutes. No contracts, no setup fees.