How to customise the Ghost theme with Github

Tutorials on how to manage Ghost themes conveniently with Github.

3 minutes read . comments

Ghost doesn't have theme management features for you, just "gets" the theme you upload and runs accordingly.

No automatic updates, no licenses, no bug checks, and no availability nor maleware.

When users want to change theme edits, they usually have to download to their computer, unzip, edit, recompress and upload.

5 steps in total and a waste of time if you edit the theme regularly.

There is an extremely convenient way, which can be said to be perfect, not only helps to combine 5 steps into one but also bonus the 6th step is theme backup.

This article will show you how to use Github Action to save external themes, make external edits, and update external themes, without logging into Ghost Admin. All will automatically load into your Ghost.

First, you need a Github account to create a Github Repo (as a Folder) to house the theme. You should create a Private Repo instead of a Public one.

Create Github Private Repository
Create Github Private Repository

Next, you'll create a new Github Action. You name Github Action as you like, but I encourage you to use .theme-deploy.yml

Paste the code below to configure for .theme-deploy.yml

name: Theme Deploy
      - master
      - main
    runs-on: ubuntu-20.04
      - uses: actions/[email protected]
      - uses: TryGhost/[email protected]
          api-url: ${{ secrets.GHOST_ADMIN_API_URL }}
          api-key: ${{ secrets.GHOST_ADMIN_API_KEY }}
Create Github Action theme-deploy.yml
Create Github Action theme-deploy.yml

Next, you create a Secret for the Github Repo to link to Ghost. Go to Settings > Secrects > New repository secret

There are 2 Secrets you need to add:

Github Secrets
Github Secrets

To have an Admin API, you must create a new Integration in Ghost. Go to Ghost Admin > Integration > Add New

Create a new Custom Integration and get the Admin API Key
Create a new Custom Integration and get the Admin API Key

Once you're done, upload your theme using the folder upload (extract your theme to a folder and upload it to that folder from your computer).

If you don't see the content after subscribing, refresh your browser......

You may also like

Auto-install Ghost CMS from DigitalOcean Marketplace

How to install Ghost CMS automatically using DigitalOcean with the click of a button.

Auto-install Ghost CMS from DigitalOcean Marketplace

Speeding up Ghost's website by preloading links

The following instructions will help you generate a faster ghost website by preloading links before they are displayed.

A magic trick that speeds up ghost's website by preloading pages

How to configure Mailgun for email sending in Ghost

Check out our Mailgun configuration guide for Ghost to ensure you're getting the most out of email.

How to configure Mailgun for email sending in Ghost


Let me share with you the essential tips and knowledge for building a quality blog with Ghost CMS.