Learn how to upgrade the Ghost publishing platform with just a couple of steps.
First, make a full backup
Whenever doing a manual update it’s a good idea to take a full backup of your site first. If anything goes wrong, you’ll still have all your data.
Update to the latest minor version
Before updating to a new major version (e.g. updating from Ghost 3.x to Ghost 4.x), you must update your site to the latest minor version.
For example if you’re on 2.33.0, you need to upgrade to 2.38.3 (the latest 2.x version) first, and then to 4.x. You do not need to upgrade through every major version.
If you installed Ghost using Ghost-CLI, the
ghost update command will inform you of the commands to run to perform the necessary intermediate updates.
Export your content and members
Start by exporting a JSON file of all your posts from the labs area of Ghost Admin.
Then, make a copy of your entire
/content directory as a backup for themes and images:
# Duplicate the content directory cp -r content /backup/content
Your members can be exported to a CSV file from the Members page of Ghost Admin.
Your theme may need to be updated
Depending on your current version of Ghost, you might need to make some changes to your theme.
To see what changes are need to be made, download a copy of your theme zip file, and upload it to our GScan automatic theme compatibility testing tool.
GScan will provide a report on any new features in the Ghost theme API which are not being used, or any old ones you might be using which have been deprecated - so you can get everything fixed up.
Run the Ghost update command
When you’re ready, make sure you’re in your site’s root directory and then run the Ghost update command using Ghost-CLI.
# Ensure your CLI is up to date sudo npm install -g ghost-cli@latest
# Run the update ghost update
Troubleshooting any problems
The most common reason for an update failure is running out of memory, so make sure you have enough RAM or swap configured in advance.
If an update fails you can start by forcing a retry to attempt the upgrade a second time.
# Force retry ghost update --force
If something goes wrong, you can always revert to the previous stable version of Ghost.
# Revert ghost update --rollback
If you’re still having trouble, start by searching the Ghost forum to see if your issue has come up before.
Create a brand new Ghost install
If there is no direct upgrade path to the latest version of Ghost, you’ll need to follow the setup guide and create a brand new install to migrate to.
Major versions of Ghost break compatibility to allow the platform to evolve. Creating a new install means you’ll have the latest version of the app while still being able to import your old content.
# Install the latest version ghost install
Migrate your content from old to new
Once the new install is set up, the only thing left to do is to import all of the content which was backed up at the start of this process.
To begin the migration, head to the Labs section of Ghost Admin and import the
ghost.json backup which you exported earlier. The importer will let you know if there are any issues.
Next, upload your updated theme to the Design section of Ghost Admin to get your site looking the same way it did before. Again, the theme uploader will tell you if there are any issues.
Copy over images
All images from
/content/images/ should be copied over to your new install.
# Verify content dir permissions sudo chown -R ghost:ghost content
If you have paid members, you’ll need to reconnect to the same Stripe account your previous Ghost instance was connected to. You can then import your members from the CSV you exported earlier.