All Articles

Comparing Ghost Hosting Providers: Magic Pages, Midnight, DigitalPress, and Self-Hosting

Introduction

Ghost is an open-source publishing platform built on Node.js. It started as a simpler alternative to WordPress, and today it covers the whole loop of running a publication: writing, publishing, emailing subscribers, charging for access, and measuring what people read.

Running Ghost yourself means running a Node process, a MySQL database, a reverse proxy, an external email service, and a steady stream of updates. Managed hosting removes that work for a monthly fee. Ghost runs its own service, Ghost(Pro), but it is priced for publications that are already growing, and it caps members at 1,000 on the cheaper plans. That gap is why a handful of small independent hosts exist, running Ghost on their own servers for less, with no member cap.

This post walks through what Ghost gives you out of the box, compares Magic Pages, Midnight, DigitalPress, and Elestio against Ghost(Pro) and the self-hosted option, and ends with a verdict. I read each provider’s current pricing page and feature list, and looked at how these small hosts tend to run their servers.

Key Takeaways

  • Ghost bundles newsletters, memberships, payments, themes, analytics, and the Social Web into one product. The host mostly decides how much surrounding infrastructure you want to manage.
  • Magic Pages, Midnight, and DigitalPress all run Ghost with unlimited members and staff for roughly $12 to $15 a month, against Ghost(Pro)‘s $18 to $29 plans that cap members at 1,000.
  • The real differences are email volume, per-file upload size, storage, backups, and support, not the core platform.
  • Magic Pages is the strongest default for most people: one flat plan, a founder who answers questions on r/Ghost, and a personal support team behind it.
  • Self-hosting is cheapest on paper, about ₹810 a month before tax, but it needs at least 8 GB of RAM, a paid Tinybird plan for Ghost 6 analytics, and your own email setup.

What Ghost gives you out of the box

Ghost bundles the parts most writers otherwise stitch together, so the hosting decision is narrower than it first looks.

  • A block editor for writing and formatting posts, with built-in image editing and embeds for YouTube, Spotify, and other sources.
  • Newsletters sent to subscribers from inside Ghost, with multiple newsletters on paid tiers.
  • Memberships and paid subscriptions, using Stripe, so you can gate content without a separate tool. Ghost takes 0% of the transaction.
  • Themes, from the official marketplace plus custom themes.
  • A custom domain with SSL, and a custom email sending domain on the paid plans.
  • Native analytics and the Social Web (ActivityPub), which let readers follow your publication across Mastodon, Threads, Flipboard, and other fediverse apps. Both arrived with Ghost 6.
  • Integrations and an API, from Slack and Zapier to full Admin and Content API access.
  • SEO basics: meta tags, sitemaps, canonical URLs, and structured data.

The practical point: you are not choosing between different feature sets. You are choosing who runs the same open-source software, and what limits they place on it.

The hosting options at a glance

Host Price (monthly billing) Newsletter emails Storage and uploads Members and staff Backups and SLA Support
Magic Pages $15 monthly, $150 yearly, $450 lifetime 10,000 included, then $5 per 10,000 200 MB per file Unlimited Daily + on-demand, 99.9% SLA Personal email support, founder active on r/Ghost
Midnight $12 / $21 / $60 10,000 / 20,000 / 40,000, then $10 per 10,000; unlimited with your own Mailgun 500 MB / 1 GB per file / no limit Unlimited Daily, 99.9% SLA Email and chat
DigitalPress €1.50 / €8.90 / €14.90 / €29.90, yearly about 15% off 250 / 2,000 / 12,000 / 20,000, then €0.70 per 1,000; unlimited with your own Mailgun 1 / 10 / 15 / 50 GB total Unlimited Hourly, 99.9% SLA on Premium only Email, priority on Premium
Elestio From $11, billed hourly per service Not bundled; connect your own Mailgun or SES Your VM’s disk, no host limit Unlimited Automated + monitoring, SLA on paid tiers Email and community, paid SLA tiers
Ghost(Pro) $18 / $29 / $199, billed yearly Unlimited sends, limited by the member cap 5 MB / 100 MB / 250 MB per file Unlimited staff, members capped at 1,000 on lower plans Automated, 99.9% SLA on Custom only Email, priority on Business
Self-hosted VPS About $12-15 plus a paid Tinybird plan Whatever you pay Mailgun, Postmark, or SES Your VPS disk, 8 GB RAM or more Unlimited You configure it You, or a forum

Elestio is a different shape of product. It is a general managed-hosting platform that deploys more than 400 open-source apps, and Ghost is one of them. Each service runs on its own dedicated VM, on the cloud provider you pick, with automated backups, monitoring, auto SSL, and updates included. The tradeoff is specialization: Elestio does not bundle newsletter email the way the Ghost-only hosts do, so you connect your own Mailgun or Amazon SES, and you will not get Ghost-specific deliverability tuning from the team.

Ghost cannot send email on its own, so every managed host buys a monthly allowance and passes it on. Midnight and DigitalPress also let you connect your own Mailgun account, which removes the cap and keeps your sending reputation separate from other tenants on the same server.

Self-hosting on a VPS

Self-hosting is the cheapest option on paper: a small VPS runs about $12-15 per month. The catch is that everything the managed hosts absorb becomes your job, and two requirements are easy to miss.

The first is size. Budget at least 8 GB of RAM if you want the site to run smoothly and without downtime. Ghost, MySQL, a reverse proxy, and the analytics stack all compete for memory, and an underpowered VPS will buckle under a traffic spike or a newsletter send.

The second is analytics. Ghost 6’s native dashboard expects Tinybird, a hosted ClickHouse service, and Tinybird is a paid dependency. Its free tier allows only 1,000 requests a day, which any real site blows past, so a self-hosted site either pays for Tinybird or replaces it. There is an open-source way to replace it: CoolGhost is a Docker Compose stack that runs ClickHouse locally and maps Ghost’s Tinybird ingest and query API onto it, so analytics work with nothing leaving your server. The catch is that ClickHouse is heavy. It wants more memory and CPU than the 8 GB floor, and CoolGhost is still a young project with a handful of commits, so treat it as something to maintain rather than a finished product.

Self-hosted Ghost architecture: a browser reaches Caddy on port 3000, which routes to Ghost on 2368, the traffic-analytics ingest service, and the traffic-stats query API; traffic-stats queries ClickHouse on 8123, Ghost stores content in MySQL on 3306, and Ghost sends newsletters through an external email provider such as Mailgun or SES

Email management

Email is where self-hosting gets genuinely annoying, and it is the part most likely to send you back to a managed host.

  • Most VPS providers block the outbound email ports (usually 25, 587, and 465) to stop spam. Whether you can get them unblocked depends on the provider, and some simply refuse.
  • Even after that, your delivery rate depends on the VPS company and the reputation of the IP you were given, which on a shared or recycled address can start out poor.
  • You have to set up SPF, DKIM, and DMARC records and watch sender reputation, since a fresh domain sending its first newsletter will land in spam without care.

Backups

Backups on a self-hosted Ghost are entirely yours to set up. Nothing ships a copy off the server for you.

  • You need to cover two things: the MySQL database (posts, members, settings) and the content/ directory (images, themes, uploads).
  • A backup that stays on the same VPS is not a backup. Copy it to object storage or another machine.
  • Schedule it, and more importantly, test that you can restore from it. An untested backup is a guess.

Monitoring and alerting

The managed hosts watch their servers around the clock. When you self-host, you are the one who notices the site is down.

  • Set up an external uptime check so you hear about an outage from an alert, not from a reader.
  • Watch CPU, memory, and disk. Disk is the one that quietly fills up from images and logs.
  • Route logs and alerts to email or Slack, because there is no support desk behind a self-hosted site.

For someone who already runs servers and enjoys the control, self-hosting is excellent. For someone who wants to publish, it is a project.

How small Ghost hosts run their infrastructure

The managed price makes more sense once you see what these companies actually run. The short version: they use cloud VPS servers, not dedicated hardware, and they share the expensive parts of the stack across customers.

Examples of the servers in play are Hetzner and DigitalOcean. Magic Pages runs on Hetzner in Germany, and Elestio will place your Ghost VM on DigitalOcean, Hetzner, or any of its other cloud partners. None of these hosts buys dedicated servers, because a dedicated server is poor value at this scale. They run Docker containers behind a reverse proxy such as Caddy or Traefik, which also issues SSL certificates automatically.

Multi-tenant Ghost hosting architecture: one VPS running a Cloudflare CDN and reverse proxy, with a separate Ghost container and MySQL schema per customer, and shared pageview analytics and ActivityPub services

Magic Pages publishes its setup in a public repository, magicpages/ghost-docker-multi-tenancy, and the pattern is common. Each customer gets a separate Ghost container and a separate MySQL schema, while the costly and awkward parts are shared:

  • The MySQL server is shared, with one isolated schema per site.
  • Pageview analytics run on a shared Tinybird or ClickHouse system. Ghost tags each site’s data with a unique ID, so many sites can share one warehouse without mixing numbers.
  • One ActivityPub service handles accounts for every customer, since a small blog sends and receives very little federated traffic.
  • One reverse proxy routes all domains and manages certificates.

That is what makes $12 a month viable. A mid-size VPS with 8 to 16 GB of RAM costs roughly $20 to $40 a month and can host 20 to 50 small Ghost sites. Ten customers already cover the server, and every customer after that is margin. Shared hosting economics, applied to a modern stack.

The tradeoff is the usual noisy-neighbor risk. A site with a sudden traffic spike can slow the shared analytics system for everyone on the machine, and an account that misbehaves on the ActivityPub network can affect others. For a small personal blog the risk is low. A fully separate setup, such as self-hosting Ghost on something like Coolify, avoids it entirely, but then you pay for a whole server for one site.

Who should choose what

Writers who want the least friction. Choose Magic Pages. One plan with every feature, a 14-day trial without a credit card, daily backups, and a founder who is visible in the community when you need help.

Newsletter-first sites with large files. Choose Midnight. It pairs the cheapest starting price with generous email tiers and the largest upload limits, and Pro and Business add subdirectory installs.

Budget blogs that want cheap storage tiers. Choose DigitalPress. Its €1.50 entry plan is the cheapest way to get a Ghost site, and hourly backups are a nice touch, though you will want Premium for the uptime guarantee.

Anyone who wants a managed VM and will wire up their own email. Choose Elestio. You get a dedicated VM, automated backups, and updates on the cloud of your choice for a lower base price, as long as you are comfortable connecting your own Mailgun or SES and do not need Ghost-specific hand-holding.

Teams that want the official option. Choose Ghost(Pro) if you would rather stay with the Ghost Foundation, and the $199 Business plan’s higher limits are worth the price. Just note the 1,000-member cap on the cheaper plans.

Developers who want full control. Self-host. Pick a small VPS, automate the setup, and treat the email service as the part that deserves the most care.

The verdict

Magic Pages is the default recommendation here, and the tie-breaker is not purely technical. On the core platform, Magic Pages, Midnight, and DigitalPress run the same Ghost with unlimited members and staff, so price and support decide it.

Magic Pages’ $15 flat plan sits in the middle of that group and covers everything: 10,000 emails, daily backups, Cloudflare CDN and protection, Social Web, native analytics, and a 99.9% SLA, with a 14-day trial to test it. It is not the absolute cheapest on every axis. Midnight undercuts it on entry price and beats it on upload size, and DigitalPress beats it on hourly backups and the €1.50 floor. But the support story is what pushed it over the line for me. A founder who is active on r/Ghost, answering real questions in public and shipping updates within hours of a Ghost release, is the closest thing to a guarantee that a small host will still care in year three, and that kind of attention is hard to fake.

If your only criterion is the lowest possible monthly cost and you are comfortable managing email, Midnight’s $12 plan or a self-hosted VPS will save you a few dollars. If you want to spend that money once and stop thinking about servers, Magic Pages is the one I would pick.

Published Oct 7, 2026

Lokesh Sanapalli is a software engineer who loves to solve real world problems using software engineering principles.