Where to host your Ghost site?

Where should you host your awesome new Ghost blog/newsletter site? And... is Mailgun's Flex plan actually gone? (TL;DR: no.)

A cartoon ghost in a wizard hat, typing on her floating purple keyboard.

Hooray! You've selected Ghost as your awesome new newsletter/blogging platform! Now, where are you going to host it?

💡
This post contains affiliate links, which means I may earn a commission if you sign up using the links here. I have mixed feelings about affiliate programs -- sometimes it seems like they're a source of garbage recommendations and garbage content on the internet. But I want to keep my content free, and referral payments help me do that.

The flagship option: Ghost Pro

Ghost Pro is the offering from the Ghost Foundation, which funds the dev team that brings us Ghost. So choosing Ghost Pro means supporting Ghost. That's pretty awesome. I host my "demo" site on Ghost Pro's Creator Plan, so that I can confirm that all sorts of oddball code and integrations that I write for clients will work on Ghost Pro. Ghost Pro's email support is pretty good (although non-emergency questions over the weekend will probably wait until Monday to get a response), and if you have a problem with your site caused by a bug in the Ghost core, they're the folks who can actually fix it.

Need to move existing content? Ghost Pro offers varying levels of concierge migration included with annual plans, although if you have something really odd, they may refer you out to the Ghost Experts list. (Hey, that's me! Feel free to get in touch. I do lots of migrations.)

Ghost Pro is fully managed. They handle the server uptime, the backups, all of it. You'll always be up to date. They also handle all the email configuration, which some new users have trouble on some of the cheaper options detailed below.

Ghost Pro offers a 14 day free trial. At the end of that trial, nothing happens if you don't sign up. They don't bill you for a plan you accidentally didn't cancel. If you'd like to kick the tires on Ghost, signing up for that free trial is an easy way to do so.

Two caveats about hosting on Ghost Pro:

  1. Their starter plan is too limited. The starter plan won't let you edit your theme, or upload a custom theme, or use most integrations. [Code injection is an option, however, and you can do a lot that way.] If you'd like to customize your site at all, or want any sort of automation, you won't like the starter plan. Also worth noting that the official Ghost themes (which is all you can use on the starter plan) do not include the translation tagging necessary to have the theme-based text in a language other than English. If the Creator plan is not in your budget, keep reading for other options. I've interacted with too many folks on the Ghost Pro Starter plan who are frustrated by the limitations, although to be fair, I probably don't hear from the people who are happy with their plan just as it is and don't need a workaround!
  2. You don't get shell access, and you can't edit your config.production.json file. So if you wanted to load a custom version of the Portal or Search code, there's not an easy way to do that. (Unfortunately, the {{ghost_head}} helper is a bit of a monolith.)

Ghost Pro's pricing is based on how many members your site has. (It works out to about a penny per member, towards the top of each pricing band, but of course if you've just got a few dozen members, it's not going to feel like that!) If you're selling subscriptions or doing something else to monetize your content, this likely won't bother you, and it's almost certainly way cheaper than Substack, which takes 10% of your revenue. However, if you're running a huge number of members without any monetization, it can get expensive fast, and Substack is going to be cheaper because 0% of 0 is well... zero.

On the flip side, Ghost Pro doesn't have traffic limits or limits to how many files you can upload, as long as (1) you're not using it headless and (2) you're not using it for something that doesn't look like a blog/newsletter. If you have a ton of traffic or a ton of content, that's a definite benefit as you think about costs. There are limits to how big your files can be, however, detailed on their pricing page. They also have no limits to how many emails your site can send. If you're going to send a daily newsletter, this can be a really good deal. (Ghost Pro Creator with 1,000 members is $25/month. Mailgun for 30k emails/month is (one per day to 1000 members) is $35/month, and that only gets you email, not hosting!

A less expensive option for many users: Magic Pages

Magic Pages is an offering from community member Jannis Fedoruk-Betschki, who can also be found hanging out and helping new users on the Ghost Forum. Jannis has several pricing models including a lifetime pay-once offering. His monthly and yearly plans for many situations will be cheaper than Ghost Pro. And not just a little cheaper. Like half the price. Like Ghost Pro, Magic Pages offers a quick one-click deploy, so it's very easy to get a site online for testing.

This is managed hosting, and includes a generous (although not unlimited) email allowance, with no need to configure email or anything else.

(I hosted some demo sites on Magic Pages briefly. Speed was great and his setup is very slick. I don't have anything there at the moment because I've got a VPS plan paid up for another two years and I like having shell access, but I think Magic Pages is a great option for many users.)

Jannis is super knowledgeable, incredibly responsive, and that pricing is hard to beat. My only concern about Magic Pages is that it is a one man offering. Magic Pages' site says they do daily backups offsite and offers an uptime SLA, but I always worry about one-person offerings being just a little bit fraught.

[Yes, Spectral Web Services is about 95% yours truly, so that situation is not much different, and I feel a teeny bit hypocritical bringing it up, but when I used to run a hosting company, I learned that it can be hard for one person to be always on, and that's part of why I quit.]

Like Ghost Pro's Starter plan, the Magic Pages Starter plan is also limited, although less so than Ghost Pro. It includes a few additional themes beyond the official ones, and it doesn't seem to exclude integrations.

Technical note: The BunnyCDN offering should make many parts of many sites load quickly, but there are implications for generating alternate sizes of images. (You'd want to upload images that were already basically the right side, for best page speed.) When I asked him about it, Jannis said that (1) he was working on it and (2) he could turn off the CDN if I wanted him to. For most users, this is a total non-issue, and although it meant it didn't work for my attempts to optimize Solo, most users will never care.

Update: I reached out to Jannis, because I wanted to make sure the BunnyCDN thing was accurate. Here's what he wrote back, within an hour of when I sent my email (and late evening in his local time zone):

Since we last spoke about it, I have changed the approach in this. Before, I have used AWS Cloudfront (with an S3 storage adapter) for image and media uploads. BunnyCDN is now a full-site CDN, so it won't interfere with image sizes at all anymore, since it caches whatever size Ghost returns.

I wasn't kidding about incredibly responsive.

Time for more price comparisons: Magic Pages offers unlimited members and 10k emails per month for $12/month. If you send relatively few emails (weekly newsletter, maybe?), you're going to come up with a price lower than Ghost Pro, but if you're sending multiple emails every day, Ghost Pro may be cheaper.

Dirt cheap: Pikapods

If you want to play around with Ghost while paying pretty much nothing, start a PikaPod. PikaPods' price is going to be hard for anyone to beat. I have some small, very low traffic Ghost sites hosted at $2/month each. PikaPods hosts Ghost in a docker container. Deployment takes two or three minutes, and you can turn your "pods" on or off at will, change resources, etc.

How small? Really really small.

My Ghost PikaPod sites seem to automatically update to the latest version of Ghost within a few days of one getting released, although I think calling it a pod "managed" would be a stretch. (Sometimes my pods go offline briefly when this happens. I could probably give them more memory to prevent that.)

Backups are pretty much "do your own", according to the PikaPods site. I wouldn't put anything mission critical here, but it's a great option for playing around over months or years, unless you want to send email... then things get a bit more complicated.

PikaPods do not come with email configured. You'll have to set it up yourself, using docker environment variables (exposed on the pod interface). Pod-specific directions are here. Expect to have extra trouble with email deliverability if you're using a PikaPods subdomain instead of your own domain. The PikaPods spf records are not helpful. Or maybe I'm doing something wrong.

Note that PikaPods includes no outbound email in that incredibly low price. You'll need a Mailgun account.

Update, 9/8/2024: Last week, I got an email from PikaPods saying that the server my Pod was on had had a hardware failure. I didn't experience any data loss, but the Pod was offline for roughly four hours. I don't host anything mission-critical there, but the downtime was a good reminder that perhaps a $2/month plan is not the right place for something that's really important.

Other options

Can you host Ghost in a VPS?

Absolutely. A VPS gives you full root access to something that looks functionally like a full server, at a teeny fraction of the cost. I run on Hostinger. (Note that you specifically need a VPS plan, not a generic hosting plan.) A small Ghost site could run in a VPS priced at $4.99/month (with a two year commitment). That gets you 4GB of ram and 50GB of disk (and a ton of bandwidth). Want something a little bigger? 4x the stats for just over 2x the price is pretty nice, too. This (like most VPS plans) gets you a bare naked server. You'll have to install everything. You get to install everything! (Yes, it's a pro and a con, for sure!) If you are going to be deeply uncomfortable working on the Linux command line, you may want to look elsewhere. Expect to spend time updating the server, and make sure you have a working backup plan in case you need it. (Hostinger conveniently provides a button to make an image of the whole server.) Don't expect your VPS hosting provider to know anything about Ghost. You'll also need to arrange your own Mailgun account.

Digital Ocean

Digital Ocean offers a "one-click" deploy of Ghost in a Droplet. A small Ghost site can run in a $4 or $6/month plan. The Droplet actually builds and installs from script, so although it's sort of one-click, in my experience it takes about 10-15 minutes to actually be ready to use.

A droplet is just a VPS. You get shell access, and you can install anything you want. It's that one-click install that's the big selling point, along with the ability to create and destroy droplets on demand. (Unlike a typical VPS plan, billed in month or year increments.)

When one-click works, it's great. When it doesn't work, it's a big headache, and you've got a whole (virtual) server to have your big headache in. The one-click install breaks sporadically, and it's non-standard enough that it's going to hard for a rookie Ghost user to troubleshoot and fix it.

I don't usually recommend hosting in a DO droplet unless you really know what you're doing, because you aren't just signing up to be a Ghost administrator, you're also signing up to be a server administrator. Don't get fooled by the one-click install. If you're on a super tight budget, but aren't comfortable on the command line and want a one-click install, get a PikaPod instead.

If you are signing up with DO, here's a link that'll get you a $200 credit at DO that expires after 60 days. So you can kick the tires for free (even with huge usage) for 60 days. In my shopping around, I've generally found a long-term VPS plan to be a better value for the money than a Digital Ocean droplet (especially if you catch a good sale), but if you need to spin up and tear down Ghost sites sporadically (rather than making a multi-year VPS commitment) and you need shell access on a full (virtual) server, then droplets may be exactly what you need.

If you want to send a newsletter from a droplet, you'll need your own Mailgun account.

Can you host Ghost in shared hosting?

Usually no. Most "shared hosting", by which I mean a cheap "website hosting" account on pretty much any hosting provider in existence. These things generally run Apache as their webserver. You need Node. But your current hosting provider might offer a VPS plan, and you can probably host Ghost in that.

Can you install Ghost with cPanel? hPanel? Plesk? (Insert favorite interface here)

I've seen people report doing it, or at least trying to. I suspect that people who are trying to avoid the Linux command line would be happier at Magic Pages or Ghost Pro (depending on budget) instead. :)

What if I choose wrong and need to change?

One of the great things about Ghost is that it's open source, and you control your data. You can get a full json export of your blog's content (minus images and other file uploads) at any time, from any provider. You can upload that json with any other provider. Download and re-upload your theme, your routes and redirects files, and you're back and running. Well, except for images.

Images and other file uploads are where things get a little more complicated. If you have shell access, you just zip up the content/images and content/files folders, and you can upload that zip to your new provider (even if that's Ghost Pro). But if you don't have shell access, you'll need to ask the current host to provide those images.

(I have an image scanner and downloader on my list-of-Ghost-things-I-want-to-build-but-haven't, but well... I haven't.)

So what's the deal with Mailgun?

If you're going with Ghost Pro or Magic Pages, you don't need to read this, as it's included in your hosting. But if you're self-hosting (any of the other listed options), you need to set up your own outbound newsletter email, and Ghost only supports Mailgun.

I currently have Mailgun's "Flex" plan, which is free for the first 999 emails and then $1 per 1000. For sites with a few hundred readers (helloooo readers!) who send a weekly email, that's free or mighty close to it. But if you're going to send a daily email, Ghost Pro or Magic Pages may save you a lot of money.

Then there's the question of whether the Flex plan still exists. I'm still on it. So are lots of Ghost users. It used to be that you could find the description and pricing for the Flex plan on Mailgun's site, although it wasn't on the pricing page and you had to sign up and then downgrade to access it. Now that page is entirely gone. Is the Flex plan actually gone? I have no clue. Users have panic-asserted on Reddit and Ghost.org that Flex is gone several times a year every year since 2020, and it's always been possible to get it, even after it became impossible to sign up for it directly. So I guess I'll go try it, huh?

Yeehaw, I thought! The Flex plan is still there! So I clicked unsubscribe. And this happened:

There's no downgrade button anywhere.

Somehow in this process, they also charged me for most of the month of July, despite a free trial being offered. [Update: Ahha. I downgraded from the $35/month plan which did have a trial to the $15/month plan that didn't. That part is my fault.]

So, OK, that was a $14 lesson for this blog. So then I needed to cancel my new test account. I found the cancel button at the bottom of the account page, and clicked it:

I got all excited, so I clicked the button. But no, Back to this:

So... I hesitate to say it, because I've seen so many other people be wrong on this one before, but at the moment, it looks like the Flex plan might actually be gone for new users, for real this time? If true, this makes the managed plans that include email a lot more price competitive, but it's a real blow to small self-hosters.

Update: 7/7/2024. No, the Flex plan is still there.

I have no idea why I couldn't get it three days ago, but I just made a new account, did the "pretend to cancel and then downgrade instead" and it worked fine. With the new account I was on the Foundation trial, while with the account that wasn't working, I was in the first month of their Basic plan (and had already paid). Was that the difference? Or was their website just being flakey? I have no idea.


That's all for today. Thanks for reading!

💡
I'd love to hear your experiences and thoughts on Ghost hosting options in the comments. However, please refrain from posting affiliate links. Affiliate links will be deleted, as will links to anything that is not obviously appropriate for hosting a Ghost site.