Ghost CMS: self vs managed hosting
The decision between self-hosting or managed hosting for Ghost CMS comes down to time vs money.
Ghost is open-source and free. So, you'll use the same software for both cases. Unless you specifically decide to self-host an older version.
In this article, you'll see what level of knowledge and work is required to self-host and what managed hosting looks like in comparison.
Self-hosting isn't hard if you know how to code or can follow developer documentation. Also, you can learn by following tutorials.
In contrast, managed hosting is a joy if you don't want any of that. And even if you know how to code, it will save you a lot of time.
Bottom line: Ghost is flexible. It can be used by anyone that knows how to use the internet. And at the same time, Ghost is loved by programmers because they can do so many things with it.
Affiliate Disclaimer: Some links are affiliates. This means that if you buy after clicking on one of those, I get a commission at no additional cost for you.
A summary of the article to help you scan the information.
|Set up||Install via command line||Nothing to install|
|Sending posts by email||You have to pay for emails yourself||Sometimes included in the price|
|Updates & Backups||You're responsible for updates and backups||The hosting company do updates and backups for you|
|CDN||You're responsible for connecting to one||Included with most companies|
|Server requirements||You're responsible for choosing a suitable server||Hosting companies choose servers that can run Ghost|
|Uptime||You're responsible for it||Sometimes included|
|Recommended option||Digital Ocean||Ghost (Pro)|
The setup with managed hosting is dead simple.
You put the credit card information, create an account, and the website is ready in minutes.
If you go for the self-hosting route, watch the video below. There, you get a sense of what you need to install to have the website running.
Be cautious when you self-host since there is more freedom to make changes, but it can be time-consuming.
For example, I had a lovely conversation with Eleanor Konik on Twitter about her self-hosting experience. She said that "setup probably would take somebody competent doing it the easy way less than an hour.". I was surprised by her answer as it's way faster than I anticipated.
But things can get tricky. In her words, "I didn't really know what I was doing and was trying to put Ghost on the same server as WordPress... and other complications. So like 20 hours total for my 2.", she concluded.
Keep in mind that her experience was atypical. "I was definitely doing advanced stuff like editing multiple themes, running newsletter email and my real email and two websites off the same domain and server..."
Alternatively, if you want to save money by self-hosting and have someone install Ghost for you, contact Dan from Gloat. This service is based on a one-time fee and only includes installation. This means that you'll save money from year 2 onward compared to managed hosting.
If this is the first time you'll add a custom domain, let me give you an advice: be patient, don't rush things.
For the first time, it will be confusing. But if you follow the instructions and pay attention to what you're doing, it will be easy to learn how to add a custom domain to Ghost or most CMSs.
The video above showed how to add a custom domain in a self-hosted environment. Follow the instructions, and you'll do it like a champ!
For managed hosting, the process will depend on the company you choose to go with. For example, Ghost (Pro) has the instruction inside the dashboard. While Midnight requires you to send an email to have their servers IP.
Sending posts by email
One cool thing about Ghost is the ability to send posts by email to members.
So, for self-hosting or managed hosting that doesn't include sending emails, you must:
- Create a Mailgun account.
- Connect Mailgun to your domain.
- Connect Mailgun and Ghost via API key.
This process isn't hard, but Ghost Pro is the best option. There is no need to create a Mailgun account and connect it to Ghost. Everything is automatic.
Subscribe to newsletter about tech for blogs and newsletters
Updates & Backups
You don't have to worry about updates and backups with managed hosting. They are automatic and done by the hosting company. Most of it happens in the background without you noticing.
Self-hosted instances are updated via the command line. But first, you should always do a backup before any update.
Returning to Eleanor, updating Ghost takes her around 60 seconds per month as the updates are "one quick terminal command".
There's not much need to update Ghost. And there are websites running Ghost on version 1 without problems. Yet, make sure to update every time there is a security patch for your version of Ghost!
Overall, updates don't take much time. The only difference is when shit happens, who has to step in and fix it. For the self-hosted version, that person is always you.
I'll finish this section quoting a tweet from Eleanor:
Content Delivery Network (aka. fast delivery of website)
CDNs are a great way to improve the speed of your website. You can read more about what they are here.
Most managed hosts include a CDN. But in case yours doesn't see the instructions on the self-hosted sentence below.
If you're going to self-host a website, I advise you to use a CDN.
Cloudflare is the most popular option. You can follow this tutorial on how to route your domain traffic through their network.
The secondary advantage of using a CDN is security, like DDoS mitigation. As Cloudflare says, "a DDoS attack is like an unexpected traffic jam clogging up the highway, preventing regular traffic from arriving at its destination."
Cloudflare CDN is a free way to improve website speed and security. This is great for your rankings and website security.
Ghost isn't like WordPress that can be hosted on almost every server.
On the contrary, Ghost CMS will require a decent VPS to run. You can find the requirements on their website. The most noticeable is the minimum of 1GB of RAM.
This is the type of thing you need to have in mind when self-hosting. Because without the proper server, you cannot run Ghost.
This isn't a problem or thing to consider for the people who use a managed host service.
Another thing to consider is the disk space in the server. Never let your self-hosted website disk get full because of the images and videos.
Most managed hosting solutions don't have a disk space limitation or have generous limits. But again, that is another worry outsourced.
I also need to touch on the uptime concept.
Why should you care about this? As the article explains, uptime is the total time the website is available. So, your goal is to have your website online for the maximum amount of time possible.
Some managed hosting services like Ghost (Pro) include uptime management.
However, this isn't the case if you self-host.
For example, if you turn off your DigitalOcean droplet, the website will be offline.
The same will happen if you use free Dynos on Heroku. But you can prevent Dynos from sleeping with this process and this tool called Kaffeine.
As the best platform for creating memberships, Ghost is flexible and allows you to pick different routes.
The most popular self-hosting option is DigitalOcean costing $5/ month. And Ghost (Pro), the most popular managed host, starts at $9/ month.
There are no differences in the experience you'll have every day when using Ghost. It's only for maintenance you can see differences.
In one, you're investing time into the website. On the other, you're paying for peace of mind and avoid dealing with the technical side.
It's a matter of preference and what you value more. For me, time is more valuable. So, I pay $15 per month to have zero worries about the website.
For example, if I had to work 1 hour per month on website maintenance, I would be losing money considering the opportunity cost.
In the end, the great thing about Ghost is that you can go from self-host to managed host and vice versa. No hard feelings.
I would summarize this article in 2 sentences:
- When you self-host a website, you are the sole responsible for it, including backups and making it secure.
- With managed hosting, you pay for other people to make your website secure, up to date, and generate backups for a predictable fee.