Skip to main content
Calm Code

Updating to Ghost 5 and what I learned along the way

Having previously used WordPress and eleventy, I didn't know Ghost that well 🙂. I had to tinker around for 2 caffeinated nights and managed to do the following.

Linode is super locked down but annoying to work with. I picked Linode since it had denial of service protections. That also meant I had to ask support to open basic ports like 25 for SMTP. It was simple enough when I asked them, but I struggled a lot in the beginning to configure Mailgun because of this. They should really mentioned these things more obvious and make the request process simpler than contacting support.

I would still recommend Linode if you need the DDos protection.

Digital Ocean is a super nice hosting company. I've been using them for years and they keep improving. Why I point my domains to DO is because they have a very nice DNS management panel plus I can get API access if I need it. Most domain registrars don't provide API access to their DNS management.

dnsimple is the only API first domain registrar I've seen but I'm not that the scale to need it yet.

Digital Ocean does provide a Ghost template server but I didn't use that. I have my own Ansible template that I use to make any Linux server Ghost compatible.

Cloudflare has been great for DDos prevention, caching and analytics. I did notice the images loading slower without it, but I can find another CDN or optimise the images another way. Since I'm using Plausible Analytics I don't need the Cloudflare analytics so I'm not missing much.

The main reason I've dropped Cloudflare is to minimise complexity. I will probably keep my DNS settings in-sync on there in case someone decides to take me down. 🤞🏼

The Ghost CLI is super useful. It has a doctor mode that checked and let me know exactly what was missing in my setup after copying the files and database server. Basically I was missing the SSL certificate. I just needed to run ghost setup ssl on the new server.

With Ghost CLI you can create a certificate even without installing the Let's Encrypt bot. So that was super useful.

If you are having nightmares keeping your WordPress site up to date without getting hacked, I would recommend Ghost. It's simpler. It doesn't have the WordPress eco system so your mileage may vary.

For my requirements it works great. I just want a low maintenance way to get the word out. Ghost enables me to monetise my words without ads and build an audience with newsletters to boot.