Announcing the Magic Pages Open House. Quarterly calls with our team!

Back to blog

The real cost of self-hosting Ghost in 2026

Self-hosting Ghost looks like $5/month. The honest 2026 total − after the Mailgun price hike, a server that won't crash, and your time − is a different number. Here's the full overview, and who should still do it.

· 10 min read

Self-hosting Ghost looks like it costs about $5 a month. That's the number on a cheap virtual private server (VPS). The honest total, once you add some extra redundancy, the price for sending email newsletters, and the hours you'll spend keeping it alive, is a very different figure, and for most people it's higher than just paying someone to host it.

At Magic Pages we run Ghost websites for a living, so weigh this accordingly. We are biased but love self-hosting software ourselves. Personally, I have also spent years in the Ghost forum helping people un-break their self-hosted sites, and I'd rather give you the real perspective, including the lines most "cheapest Ghost hosting" articles quietly leave off, than sell you anything. Here's all of it, plus an honest answer to who should still self-host.

The sticker price (and why it lies)

A Ghost server is genuinely cheap to rent. Mid-2026 prices:

  • DigitalOcean: $6/mo (1GB) or $12/mo (2GB). The famous 1-click Ghost image points you at the $6 box.
  • Hetzner: the cheapest Ghost-capable box (CX23, 2 vCPU / 4GB) is now €5.49/mo – note that Hetzner raised prices on 15 June 2026, so the old "€4 Ghost droplet" you'll still see quoted everywhere no longer exists.
  • Vultr / Linode / Lightsail: all around $5–12/mo depending on RAM.

Here's the catch, and it's the most common rookie mistake in the whole Ghost forum: the $6 / 1GB box is a trap. Ghost plus its required MySQL database runs at 80–90% memory on 1GB and, when necessary, the OS kills MySQL to save itself, taking your whole site down with it. The DigitalOcean community has a thread literally titled "Ghost Blog on 1GB Droplet Crashes Every 5 Days or So." Ghost's docs say 1GB is enough; in practice, the honest production floor is 2GB, if you include the MySQL server.

So the real sticker price is ~$12/month, not $6. Already double. And we haven't sent a single email yet.

The line everyone hides: email

If you send a newsletter, which is the entire point of Ghost for most people, Ghost only supports Mailgun. Not SendGrid, not SES, not your Gmail. Ghost's own docs are explicit: "Currently the only bulk mail API we support is Mailgun." You cannot swap it out in settings.

And on 1 December 2025, Mailgun doubled its pay-as-you-go price. The Flex plan went from $1.00 to $2.00 per 1,000 emails. Here's the 2026 ladder:

Mailgun plan Price/mo Included emails Overage
Flex (pay-as-you-go) $0 base first 1,000 $2.00 / 1k
Basic from $15 10,000 $1.80 / 1k
Foundation $35 50,000 $1.30 / 1k
Scale $90 100,000 $1.10 / 1k

After the hike, pay-as-you-go is now more expensive per email than every paid tier's overage rate. Kinda logical, but that wasn't the case until that hike.

The rule of thumb: below ~18,500 emails/month, Flex pay-as-you-go is cheapest. Above it, the flat $35 Foundation plan wins. At 5k subscribers sending weekly, you cross that line fast.

Frankly, for a small newsletter with a couple dozen subscribers it won't matter whether the flex plan is $1.00 per 1,000 emails or $2.00. The point is: email is a cost.

The other hidden lines

If you're serious about your blog, you will need offsite backups somewhere. A dead server with your only database on it is not a backup. And yes, I know. Thinking of backups is nobody's favourite free time activity. But in IT we usually consider the best time to set up backups when we don't need them.

Backblaze B2 or something similar is usually under $1/mo for a typical blog. Not huge – but again, a real cost some posts out there overlook.

Now, the other genuine component every blog should have, in my eyes, is a content delivery network (CDN), for three reasons.

  1. If your next post goes viral, the CDN will serve a cached version and your origin server (the cheap VPS) won't have to take the hit.
  2. A content delivery network also distributes your content across a global network, making your blog faster for visitors on the other side of the globe.
  3. Content delivery networks usually come with a Web Application Firewall (WAF). That can be useful when fighting bots or spam.

At Magic Pages we have used Bunny.net in the past. They were great and while they couldn't meet our requirements as we scaled, I genuinely recommend them for individual blogs. They do have a 1 EUR minimum per month, however. If you're looking for a free option, Cloudflare has a generous free tier.

None of these are a dealbreaker. But the point is that the "$6/month" headline is misleading.

The real cost is your time

Cash is the easy part. The expensive part is the maintenance, and it doesn't show up on any invoice.

Ghost runs on a tight version chain, and the links break in predictable ways. A few examples:

Tips or procedure for upgrading Node version
I’d like to upgrade from ghost 5.130.3 to ghost 6.0.1, but my node version is too old. Message: Ghost v6.0.1 is not compatible with the current Node version. Your node version is 18.20.8, but Ghost v6.0.1 requires ^22.13.1 Environment info: OS: Ubuntu, v24.04.3 LTS Node Version: v18.20.8 Ghost Version: 5.130.3 Ghost-CLI Version: 1.28.3 Environment: production MySQL: 8 I’d like to update Node and make sure it’s working before trying to upgrade ghost. Can anyone point…
Tried to update Ghost and everything is broken :(
Hello!! I had my blog with an older version of Ghost (3.x.x) and I wanted to update, so I followed this guide step by step. First I updated to the latest minor version of the 3.x.x and everything worked fine there, I could see the version updated on my admin panel. Now, when updating to the latest version (5.x.x) everything broke ☹ There are no errors when running ghost doctor: But Ghost is never able to start: If I check the logs it doesn’t give me useful information (I thin…
If you are on Ghost < 6.19.1, you REALLY need to update
Hey self-hosting folks, REMINDER: I don’t work for Ghost. The content below is my own opinion, not that of the Ghost Foundation, blah blah blah. Might be wrong, and possibly worth only what you paid for it (nothing). In case you’ve missed it, Ghost had a baaad security vulnerability back in February, disclosed here: That’s a bad one. Specifically, it allows an attacker to read your whole site, include admin api keys, and once they’ve got the admin api key, there’s a lot that can go wrong.…
Self-hosters left vulnerable to XSS vuln due to second-class Docker support
Ghost 6.15 was released with a security fix for an XSS vulnerability in the portal. Bad actors are now aware of the vulnerable, but no new Docker image is available to install with the fix. A fix is being worked out here, in a third-party repo: It would great if the Ghost team could check that security fixes are going to build and release with Docker in a timely manner so self-hosters aren’t left exposed.

All of these are solvable and neither are surprising. Software is always soft. It will change.

How much time will you spend on maintenance, realistically? I won't insult you with a made-up "two hours a month" figure. Frankly, nobody has honest data on it. The shape is what matters: near-zero in steady state, but there will be the occasional evenings or weekends where your Ghost site needs your attention.

Ghost 6 quietly raised the bar

Ghost 6 (August 2025) moved from a simple "one app + one database" shape to a multi-service architecture: the ActivityPub social-web features and the new native analytics run as separate services.

While the Ghost Foundation provides a hosted ActivityPub services (ap.ghost.io) for every Ghost site out there, it does come with usage limits:

Hosting Ghost - Ghost Developer Docs
A short guide to running Ghost in a production environment and setting up an independent publication to serve traffic at scale.

However, this route doesn't exist for the new analytics. They are powered by Tinybird, a managed Clickhouse provider. To get those nice native analytics on a self-hosted site, you're expected to run that stack too.

Tinybird officially only supports using their hosted version. But even for that, you still need to spin up local Docker containers to manage them.

The clearest evidence that v6 raised the bar: a fellow hosting provider for Ghost, Dan Rowden, shut down his managed-Ghost service "Gloat" because of it. In his own words: "v6 requires a lot of changes for hosting, with the two external services it supports… I struggled to come up with a good way to support Ghost's new infrastructure and… decided it would be better to shut down."

I sold my Ghost host, Gloat
Late last week I signed the Purchaser Agreement to sell Gloat, a small, independent Ghost host I created back in 2020. It has been bought by Jannis from MagicPages, a similarly independent host run by a single founder. Five years of hosting Ghost sites has been a blast and a

Full disclosure: Magic Pages acquired Gloat when he wound it down, so I'm hardly neutral.

The honest overview

Putting it together, for two realistic cases:

Hobby blog (~hundreds of subs) Growing newsletter (~5k subs, ~20k emails/mo) Managed host
Sticker (what the ads say) $6/mo $6/mo €13–18/mo
Real VPS (2GB, won't crash) ~$12/mo ~$12/mo included
Email (Mailgun) ~$2–4/mo (Flex) ~$35/mo (Foundation) included
Backups (B2/S3) ~$1/mo ~$1–3/mo included
Monitoring $0 (free tier) $0 (free tier) included
Real cash total ~$15–17/mo ~$48–50/mo ~€13–18/mo
Your time episodic, unpredictable episodic, unpredictable near-zero

Compare that to managed Ghost hosting in the €13–18/month range, with email and maintenance included, and the honest conclusion is: at hobby and mid scale, self-hosting usually isn't even cheaper in cash once email and a non-crashing box are counted − and it's never cheaper in time.

Where self-hosting genuinely wins:

  • At real scale. If you have many thousands of members a self-hosted box plus a Mailgun plan can be roughly half the cost.
  • Running multiple sites on one server. Three or more Ghost instances on a single $12 box amortizes the server beautifully – managed hosts bill per site.
  • When you actually enjoy it, or need full control/specific data-residency setups, and have the Linux skills to back it up.

So… should you self-host?

You should self-host if you're a developer or tinkerer who enjoys running servers, you're hosting several sites on one box, you're at a scale where managed pricing genuinely hurts, or you have strict control/learning reasons – and you're comfortable being on call for your own 2am outage.

You shouldn't if you're a writer, creator, or business that wants to publish rather than administer, you've never lived in a terminal, or your time is worth more than the few dollars you might save. There's no shame in this – it's most people.

If that's you, what you're actually paying a managed host for isn't the server – it's the disappearance of every line in that overview above, and the quiet certainty that the 2am outage is someone else's problem.

Frequently asked questions

How much does it really cost to self-host Ghost?

Realistically ~$15–17/month for a small blog and ~$48–50/month for a growing newsletter – once you count a 2GB server (not the $6 one, which crashes), the required Mailgun email bill (now $2 per 1,000 emails on pay-as-you-go after the December 2025 increase), backups, and free-tier monitoring. The "$6/month" figure you see quoted ignores most of that.

Is it cheaper to self-host Ghost than to use managed hosting?

At hobby and mid scale, usually not. Once email and a non-crashing server are included, self-hosting often costs about the same in cash and always costs more in time. Self-hosting wins on raw dollars mainly at high email volume or when you run several sites on one server.

What should I look for in a managed Ghost host?

Email included (not billed separately), automatic updates and security patches, offsite backups you don't manage, and support that actually knows Ghost. The point of paying someone is that the hidden lines above become their problem, not yours.

Why does Ghost force me to use Mailgun?

Ghost only integrates with Mailgun's API for bulk newsletter sending; there's no native alternative. You can use any SMTP provider for transactional email (sign-in links, password resets), but not for newsletters.

What server specs does Ghost actually need?

Plan for 2GB of RAM. Ghost plus MySQL will run on 1GB but frequently exhausts memory and gets MySQL killed by the OS, crashing the site.

Did self-hosting Ghost get harder with Ghost 6?

Yes. Ghost 6 added separate services for the social web (ActivityPub) and native analytics (Tinybird). Getting the full feature set self-hosted now means running and maintaining more than just Ghost and a database.

Jannis Fedoruk-Betschki

Written by

Jannis Fedoruk-Betschki

Founder of Magic Pages. I build reliable Ghost hosting, so publishers can focus on what they do best − creating. When I'm not improving the platform, I'm probably helping a customer get their site just right.

You Might Also Like

Our first Open House

We hosted our first Open House. Here's the recording, a recap of everything we showed, our new podcast, and an apology to everyone who got stuck in the waiting room.

5 min read

Websites powered by Magic Pages

From personal blogs to growing businesses — published with Ghost®, hosted with care.

Loading showcase sites...

Start Your 14-Day Free Trial

No credit card required