Self-hosting Ghost on shared servers

It's been a while since I last had an online presence, outside social media at least. While I haven't been working on a site of my own, I've still kept tabs on what's going on in the web dev world, albeit on a very general level. One of the platforms that caught my attention was Ghost. It's a publishing platform. It can do blogs, magazines, documentation, that kind of thing. Ghost's approach to all this is content-focused, both from the creators' and the readers' point of view. It feels very 2020's in comparison to WordPress.

I knew I wanted to give Ghost a try, and didn't do much research before diving in. It turns out I should have.

Ghost offers a range of plans at their site. The cheapest option currently comes to 9$ a month. This might not be much, depending on what you're looking for, but I wanted a more complete hosting solution with email handling, a private tt-rss reader and such things, and to centralize the management of all my content. This turned out not to be a problem, as Ghost is an open-source project, and you can host it yourself. When I last had a server to my name, it was through some cheap deal I happened to find at the forums I frequented at the time. The host was in the states (I'm in Finland, so this was not optimal), but for my modest needs it worked. This time around, I decided to pay more attention and do things right from the start. This is where the research on Ghost's requirements would have paid off.

I started out on reddit, asking for recommendations at r/webhosting. In hindsight, I didn't do a very good job in explaining my wishes for my future host, and so the responses were kind of helpful, but mostly not really. I went on WebSite Planet and WebHosting Talk and HostAdvice looking for ideas, and found some that seemed like good deals. I signed up with and got a their cheapest shared hosting package. The specs seemed to be in line with the traffic I'm expecting (lol), and I like how they freeze your package prize, so you'll get the same deal when it comes time to renew. It was about a day later when I figured out I couldn't run Ghost on my plan.

Turns out that installing Ghost is somewhat different than installing WordPress, for example. You need Node.js and a package manager to install Ghost, and root access to the server to run them. By and large, you will not have these on any shared hosting plan. What would work, it seems, is a VPS - that is, a virtual private server. VPS plans give you root access and let you muck about in your environment as you wish. The plans are more expensive, but not prohibitively so. I was ready to change my plan type on, but it turns out they don't have VPS data centers outside USA.

I knew I could run Ghost on a small AWS instance, but didn't want to get into that because I felt like a traditional hosting package with cPanel access would suit my needs better. I was ready to start over my search for a cheapish VPS provider in the EU, until I found this informative post on the Ghost forms by user denvergeeks, and their further blog post on the topic. In addition to AWS and VPS solutions there's, who offer a Ghost install script right in the cPanel for their shared hosting plans.

FastComet have data centers all around the globe. I tried pinging Frankfurt and Amsterdam, and both replied at about 33 ms, which is very good. I went with Frankfurt in the end, and the automatic setup was very straightforward. For now, I'm happy! The only thing that got me a bit miffed was how the FastComet customer service kept implying that I would need one of the higher-end plans to run Ghost. You don't. The sales prices are low all around, but the renewal would be more than I'd like. It took a while to get a straight answer, and this made a small dent in my perception of the company.

TL;DR: If you want to host Ghost yourself and have all the usual cPanel options to go with your site, the FastComet starter shared plan might be the cheapest way to get it.

Tuomas Tuomitie

Tuomas Tuomitie

I'm a front-end web developer and a dev team lead, and this is my site.