Guide
By Axel Antas-Bergkvist Published May 23, 2026

Self-hosting Ghost, without the hand-waving

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 honest 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.

Back up 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 copy of your posts, outside the box they live on. A self-hosted database backup is a dense file you hope you never have to restore from. A folder of plain markdown is something you can read, search, and recover one post at a time.

Specter gives you exactly that. It is a native macOS app that does two-way sync between your Ghost blog and a local folder, so every post lives on your Mac as a .md file with its title, tags, status, feature image URL, and excerpt preserved — and stays current as you publish. On a self-hosted blog, where you are the one responsible if the server goes down, that running markdown backup 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 pick a folder — see the first-sync guide. Run the server how you like; just make sure the words you write also live somewhere you fully control.

Buy Specter — $49 Browse all guides