Upgrading

How to Upgrade Ghost & Ghost-CLI

Ghost CLI

In this example we assume you are using the Ghost CLI, which we highly recommend, to run your blog. If you don't yet, check out here how to make your life easier!

Thanks to the Ghost CLI, upgrading Ghost has become a very easy and automated process. The only thing you need to take care of is to backup your data.

Preparation: backup your content

We can't stress this enough - even if it all goes horribly wrong, recovering is quick and easy if you're properly backed up. Use the export tool on the labs page to create a .json file and make copy of the /content folder in the root of your Ghost install - this contains your images and themes. Read our guide on importing & exporting for detailed instructions.

Versioning

ghost update cannot be used to upgrade from 0.11.x to 1.x, for that you need our migration guide.

If you are on any version of 1.x.x, you can always use ghost update to upgrade to the latest 1.x.x version. The only time you may have to do more than a simple ghost update from now on, is when the major version changes, e.g. when we ship 2.x.x.

Upgrading Ghost via Ghost-CLI

Once you got all your important data backed up, you can go ahead and upgrade Ghost to the latest version:

One command is all you need

There's no need to stop Ghost first. ghost update will handle stopping and restarting Ghost for you. One command is all you need 🎉

ghost update

You will need to navigate to the folder of your current Ghost installation to execute this command. Ghost CLI will then fetch information about a newer version, download and install it.

After the installation, Ghost CLI will restart the app automatically.

If anything goes wrong with the upgrade, you can try rolling back or forcing another upgrade. See the ghost update command reference for more details on available options

Upgrading Ghost-CLI

Upgrading Ghost-CLI requires a single command:

sudo npm i -g ghost-cli@latest

Or if you used yarn:

sudo yarn global add ghost-cli@latest

Upgrading Ghost installs that used Ghost CLI <1.0.0

If you installed Ghost using a pre-1.0.0 version of Ghost-CLI (meaning any version less than 1.0.0, including alphas, betas and release candidates), you will need to run some commands manually to upgrade your Ghost installation to one compatible with version 1.0.0 of the CLI. Below is a rough guide for upgrading your instance, based on the version the instance was installed with.

From 1.0.0 onwards, installs will be automatically migrated.

Once you've run the steps below, edit the .ghost-cli file in your ghost instance folder and replace the version noted by "cli-version" with "1.0.0".

If your instance was installed with:

Ghost-CLI versions between v1.0.0-beta.6 and 1.0.0

If you installed Ghost locally (with ghost install local) you can skip the steps below - your instance is compatible with the stable 1.0 version.

To upgrade your instance to one that is 1.0.0 compatible, you should first backup your data, then run these commands (from within your ghost instance folder):

  • crontab -e -> then in the editor remove the line that has ghost ssl-renew on it
  • rm -f ./system/files/*.conf
  • ghost setup nginx if you did not previously set up ssl, or ghost setup nginx ssl if you did

Ghost-CLI versions older than v1.0.0-beta.6

Unfortunately, you will need to re-install your Ghost instance from scratch. However, your data should still be fine as long as you back it up. See the backup instructions above.

Since beta.6 we've fixed and significantly improved how Ghost is configured, we know this is a pain, but it will be worth it!

What to do when an upgrade fails

The most common reason for a failed upgrade, is running out of memory.

If ghost update fails for you, the first thing to try is ghost update --force to retry the update.

If your ghost install is in a broken state after updating, you can use ghost update --rollback to get back to the previous stable version.

Once you've stabilised again, and resolved any underlying problems, go into /version and remove the broken version. Then run ghost update again.

Ghost Admin + Cloudflare

If Ghost admin isn't loading for you, and you have Cloudflare enabled, please read this.

Upgrading

How to Upgrade Ghost & Ghost-CLI