Website update: Goodbye Joomla, hello Ghost!

Blog Sep 20, 2020

I have been using content management systems based on the LAMP-stack for my personal website for over two decades. First I tried PHP-Nuke but replaced that quickly with XOOPS. XOOPS wasn't what I wanted, so I wrote a simple PHP system myself. Somewhen around 2006, I then changed to Joomla and Joomla it was ever since. Joomla is a great system and besides my own website, I built a number of other websites with it, like my weather project

Joomla is extremely versatile with its thousands of available plugins and extensions and exactly that developed into a bit of a problem for me. I installed a lot of extensions over the time and integrated functionality just because it was available. So my website became very convoluted and unstructured over time, preventing it from fulfilling its primary purpose - be a platform to convey my thoughts, ideas, projects and stuff.

About a year ago, I started tinkering with Docker. Containerization is the current big thing in Enterprise IT so of course, I wanted to get into it. When exploring possibilities for container orchestration, I found Portainer which I nowadays use a lot in my own network. With Portainer came a bunch of templates, including a template for a blog system named Ghost.

I spun up a container on my home server and started tinkering with Ghost - and quickly started to like it a lot. The one obvious disadvantage was that Ghost doesn't run on a LAMP-stack and therefore cannot be installed on your run-of-the-mill shared webhoster. But coincidentally, at that time, my webhoster Neobitti had closed and I had changed to AWS, so no real problem there.

Over the last year, I spent a lot of time playing with my Ghost container on my home server until I felt confident enough to start moving my website over.

So what is it with Ghost that made you drop a great system like Joomla, you might ask... Well - while Joomla is extremely versatile and universal, Ghost is just trying to be a blog, nothing more, nothing less. And at that, it's really awfully good! One thing which always annoyed the hell out of me with Joomla was how comparably complicated it is to just write a post. The editor - like the whole system - is super versatile, but if you just wanna write down a bunch of thoughts and include some external media, it's way too complicated. Not to mention that it's not at all mobile-friendly. That was one of the main reasons why I basically stopped blogging...

Ghost's editor in comparison is super simple. No loads of buttons, no curly brackets or weird codes to integrate external media. It's quite minimalistic and yet it's almost effortless to include external stuff. And it works beautifully on mobiles too. The tag system of Ghost also is quite brilliant and much more flexible and elegant than the stiff category system of Joomla. I know, I know, Joomla also has tags, but they just don't work as effortlessly as in Ghost. Ghost also supports "pages" in addition to "posts" so I still can have the "about me"-page and alikes.

Templating is relatively easy with Ghost through the "Handlebar" language. It didn't take me long to understand how it works and start modifying a template to better fit my needs and wishes.

Finally, a huge point for me are the resources. Ghost runs on Node and is pretty slim while for Joomla you need a full LAMP-stack which is a pretty mean resource-hog.

Bottom line, Ghost is everything I actually need for my website and I hope, it will help me return to regular blogging. It definitely already made my website better and moving content from my old website to Ghost has been quite easy too.

At the moment, there's still a few things missing but I will complete the transfer hopefully within the next few days.


Stefan Gofferje

Geek-dad, german in Finland, IT security and privacy, wolves and wolfdogs, nature, filmmaking, photography, paramedic

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.