Goodbye Ghost

2 minute read

Just over 2 years ago I relaunched and moved to Ghost. At the time, my reasoning was simple:

My website had just been a static site generated with Jekyll and hosted with nginx. That setup worked great, but it had become a pain to keep Jekyll updated, mostly because of the custom plugins and configuration I’d made. Also, I really just want to be able to write and manage posts in a web browser.

The other day I was working to update my installation, mostly getting Ghost into the latest version, but also wanting to update my server configuration to use Ansible as I’ve really become happy with that tech.

While digging in, I noticed that there is a lot changing with Ghost, and a lot of it really makes Ghost no longer a great fit for me. I’ll run through some of my reasons, and let you know what I moved to.

Ghost is removing support for PostgreSQL. They only want to deal with a couple databases, and they expect a lot of people to use SQLite, which I think makes sense, but not for me. They also will support MySQL, which is what they use for their hosted version. I understand that, but honestly, I focus on PostgreSQL and would rather not maintain a server running MySQL if I don’t need to, same with hosting using SQLite.

Ghost is also making a lot of changes to how it is configured and set up, many of which make sense for them, and many others I’m sure. I like to have a lot of control over how my setup works, and understand the pieces, and more automation is great for many, but these “features” just didn’t make sense for me, especially in light of the other changes.

Finally, I found myself spending time updating Ghost, and while easy to do in general, in combination with my Docker setup that used ECR and not a registry that integrates with deployment to CoreOS at DigitalOcean more easily, it was a bit of a headache.

The only real benefit I was getting was the web based editing, which didn’t seem worth these changes and headaches. The actual hosting was done by Ghost but was so heavily cached by nginx, it could have easily been a static site.

So where does that leave me? I’m back to Jekyll.

Addressing my issue from 2 years ago, I see many improvements to Jekyll. I can do a simple blog site that I want with little of my own customization due to some great plugins and themes as gems. Most importantly is the great work of Michael Rose with minimal-mistakes. It is a really powerful theme that looks great, has some awesome features, and was easy to customize in an unobtrusive way that should handle updates to Jekyll and itself really well.

Also, my server is now setup with Ansible, and is just a simple nginx setup, so I’ve got lots of RAM back from dropping NodeJS and Ghost, should I want to add something else to this server.

More on my usage of Ansible soon. In the mean time, enjoy the new look and feel of my blog!