Ghost CLI (Yes, it's awesome.)

As of late I've been neglecting this website - I'll fully admit to it and take responsibility! I'll be honest, it's not a total disinterest or a lack of conceivable content, more so it's the fact that I allow myself to devote time to things that are not this particular website.

This isn't the point! I'd been logging in every now and then, having that urge to write - every time I'd be greeted with a little bar at the top of my admin panel telling me there was a new version of Ghost available! "Great!" I'd always think to myself, but since there is no auto-update for Ghost (Or, there wasn't...) I just kind of let it go for a while. I suppose I could simply blame this on the fact that I'd have to either A. replace the entirety of my Ghost directory with the upgrade files and hope it doesn't break anything I can't simply fix in a minute or two... or B. Create a new instance, install Ghost, a more recent iteration of Ghost, then run from there. Let's say when I decided I wanted to test Ghost-CLI I went for the latter over the former.

(Grab Ghost-CLI:

So, I went with the B road... Opposed to replacing the files in my, then, current Ghost directory I decided to make a new droplet on Digital Ocean and test my ability to hastily launch an instance - it turns out, I've still got it. Fast forward about five minutes, Nginx installed, MySQL running, NodeJS fluxing - everything was good to go for me to get my hands on the Ghost-CLI and set up a development instance!

According to the Ghost-CLI documentation, these are the pre-requisites:

  • Ubuntu 16.04
  • MySQL
  • NGINX (minimum of 1.9.5 for SSL)
  • Systemd
  • Node v6 (installed via NodeSource)
  • At least 1GB memory (swap can be used)
  • A non-root user for running ghost commands
  • Ghost-CLI documentation

I'll be completely honest, having used Ghost as my primary blogging platform for the last few months, I didn't expect all that much from Ghost-CLI, by which I mean I expected it to encompass a slightly more steep learning curve - much to my chagrin, this was not the case by any means. Having experienced the more so, "down and dirty" installations of Ghost, which to be completely honest I do genuinely prefer, Ghost-CLI was a breath of fresh air!

The installation is quite literally as follows:

npm install -g ghost-cli@latest
ghost install (for a production linux setup, including Nginx, SSL, and Systemd)
ghost install local (for a local setup, useful for theme development/testing)

Granted, this did not work on my initial Ghost instance as I was running a version prior to 1.0.0 but as long as you're installing a new Ghost blog you won't run into this issue at all.

With all of that out of the way - how about we get into some of my favorite parts of Ghost-CLI?

  • Upgrades made simple!
    • ghost upgrade
  • simple, intuitive, on-the-fly configuration editor!
    • ghost config
  • Lastly, a lovely tool which will check your installation at startup for proper configuration!
    • ghost doctor startup

To be completely honest, I'd been mulling over the idea of moving back to another platform for this website, dare I say, Wordpress... Ghost-CLI genuinely rekindled my love for Ghost. The dedication their team is putting into their product and the incremental improvements are top-notch! I can safely say I am more than willing to recommend those I know with blogging aspirations give Ghost a fair shake now more than ever before.