Guide

Self-hosting Ghost, without the hand-waving

By Axel Antas-Bergkvist Published May 2, 2026 Updated May 29, 2026

Ghost is open-source, which means you can run it on a server you control instead of paying for managed hosting. People self-host for two reasons: cost at scale, and control. This is the short version of what that actually involves — enough to decide whether it is for you, and to know what the day-after looks like.

What you are signing up for

Self-hosting Ghost means standing up the software yourself on a Linux server, almost always a small cloud VPS from a provider like DigitalOcean, Hetzner, or Linode. The Ghost software is free. What you pay for is the server it runs on, which for a personal or small blog can be a few dollars a month, plus a domain name. So the running cost can be genuinely low — that is the appeal — but it is not zero effort.

The official ghost-cli tool does most of the heavy lifting. On a fresh Ubuntu server you install Node, a database (MySQL), and a web server (Nginx), then ghost install walks you through configuring your domain, provisioning an SSL certificate, and getting the site running. Ghost’s own documentation has a maintained, step-by-step install guide, and because they keep it current with each version, it is the source you should follow for the exact commands rather than any blog post that may have aged.

One piece the CLI does not handle for you is email. Ghost sends newsletters and transactional mail through an external provider — Mailgun is the commonly used one — so you will sign up for that and add the credentials to your config. Without it, members and newsletters will not work, even though the rest of the site will.

The part people underestimate

The install is a weekend afternoon. The upkeep is the real commitment. When you self-host, you own updates (running ghost update as new versions ship), backups (your database and content are now your responsibility, not someone else’s), security patches on the underlying server, and troubleshooting when something breaks at an inconvenient hour. None of it is hard in isolation, but it is ongoing, and it is the reason most writers eventually decide Ghost(Pro) managed hosting is worth the fee. Self-hosting rewards people who either enjoy running infrastructure or have enough scale that the savings clearly justify the time.

If that is you, go for it — it works well and a tuned VPS can be very fast. Just go in clear-eyed that you are now also the operations team.

Protect your writing from the start

There is one habit worth building immediately, and it matters even more when you self-host than when someone else runs the server: keep your own safety net under your posts, separate from the box they live on. A self-hosted database backup is a dense file you hope you never have to restore from. A blog you can browse, snapshot, and recover one post at a time is something else entirely.

Specter gives you exactly that. Connect your Ghost blog in the browser and every post lands in one workspace as clean, readable content — browsing is free — with a snapshot kept behind every publish, so putting one post back the way it was is a decision rather than a recovery project. On a self-hosted blog, where you’re the one responsible if the server goes down, that running protected copy of your whole archive is cheap insurance. It also unlocks everything else this site is about: editing posts with AI and bulk SEO work the web editor cannot do.

Specter connects to a self-hosted Ghost the same way it connects to Ghost(Pro): you create a custom integration to get an Admin API key, paste it in, and run your first sync — see the first-sync guide. There’s nothing to install. Subscribe now and your workspace opens with 500 free credits.


If you’re already running your own server, you may want the matching habit on your own disk: every post mirrored as plain .md files you can drop into git or an off-machine backup. The desktop and open-source edition does exactly that, running the sync engine entirely on your Mac. Run the server how you like; just make sure the words you write also live somewhere you fully control.