Here's a step-by-step checklist along with detailed instructions for performing a manual backup of your self-hosted Ghost install.

This guide covers how to export content, download configurations, themes, and media, and how to restore your data if needed.


1. Export Content

  • How-to:
    1. Log into your Ghost Admin.
    2. Navigate to the Labs view in the admin panel.
    3. Click on the Export button to download all your content.
    4. This will generate a .json file, typically named in the format my-site.ghost.[date].json.
  • Checklist:
    • [ ] Log into Ghost Admin
    • [ ] Navigate to Labs view
    • [ ] Click Export and download .json file

2. Download Routes and Redirects

  • How-to:
    1. While still in the Labs section:
      • Click Download current redirects to get the redirects.yaml or redirects.json file.
      • If using custom routes, click Download current routes.yaml to download the routes.yaml file.
  • Checklist:
    • [ ] Download redirects.yaml or redirects.json
    • [ ] Download routes.yaml if using custom routes

3. Download Themes

  • How-to:
    1. Navigate to the Design settings page in Ghost Admin.
    2. Locate the Themes section.
    3. Download your active theme and any other themes you want to back up. These will be .zip files.
  • Checklist:
    • [ ] Navigate to Design settings
    • [ ] Download active theme .zip file
    • [ ] Download any other themes if needed

4. Copy Images, Files, and Media

  • How-to:
    1. Gain shell access to your server (contact your web host's support if necessary).
  • Checklist:
    • [ ] Gain shell access to the server
    • [ ] Navigate to the Ghost content directory
    • [ ] Zip the images, files, and media directories
    • [ ] Transfer the zip file to your local machine

Transfer the content-files.zip to your local machine:

scp user@your_server_ip:/var/www/ghost/content/content-files.zip ~/Desktop/content-files.zip

Create a zipped backup of your images, files, and media directories:

zip -r content-files.zip images/ files/ media/

Navigate to the Ghost content directory:

cd /var/www/ghost/content

5. Export Members

  • How-to:
    1. In Ghost Admin, go to the Members dashboard.
    2. Export all members into a CSV file.
  • Checklist:
    • [ ] Navigate to the Members dashboard
    • [ ] Export members as CSV file

Restoring Data from a Manual Backup

If you need to restore your Ghost site from a manual backup, follow these steps:


1. Copy Images, Files, and Media

  • How-to:
    1. Copy all your images, files, and media to the new Ghost install.
  • Checklist:
    • [ ] Copy images, files, and media to new Ghost install
    • [ ] Fix permissions with chown command
    • [ ] Restart Ghost

Restart Ghost to apply changes:

ghost restart

Run the following command to fix permissions:

sudo chown -R ghost:ghost content

2. Import Content

  • How-to:
    1. Go to the Labs section in Ghost Admin.
    2. Import the .json backup file you exported earlier.
  • Checklist:
    • [ ] Navigate to Labs in Ghost Admin
    • [ ] Import .json content file

3. Upload Routes and Redirects

  • How-to:
    1. From the Labs page, import the routes.yaml and redirects.yaml files you downloaded during the backup.
  • Checklist:
    • [ ] Upload routes.yaml
    • [ ] Upload redirects.yaml

4. Upload Theme

  • How-to:
    1. Go to the Design settings in Ghost Admin.
    2. Upload your theme .zip file to restore your site’s appearance.
  • Checklist:
    • [ ] Navigate to Design settings
    • [ ] Upload theme .zip file

5. Reconnect Stripe (if applicable)

  • How-to:
    1. Skip this step if you do not use Stripe.
    2. Before importing members, ensure Ghost is connected to the same Stripe account used in the previous install.
    3. Follow the guide on how to connect a Stripe account in Ghost if needed.
  • Checklist:
    • [ ] Connect Ghost to the same Stripe account used before

6. Import Members

  • How-to:
    1. With Stripe connected, import your members CSV file.
    2. You’ll receive an email notification once the import process is complete.
  • Checklist:
    • [ ] Import members CSV file
    • [ ] Verify import completion

This checklist provides a structured approach to ensuring that all necessary steps are taken to back up and restore your Ghost site safely.