Remove Duplicate Story Theme Entries

Problem

Two “story-theme” entries appear:

  • story-theme (story-theme) version 1.0
  • story-theme (theme) version 1.0.0

Cause

This happens when:

  1. Theme was uploaded multiple times
  2. Old theme remains in Ghost’s content volume
  3. Ghost detects the same theme in different locations

Solution: Remove All and Re-upload

Step 1: Remove All Story Themes

cd ghost-theme

# Access container
docker-compose exec ghost bash

# List all themes
ls -la /var/lib/ghost/content/themes/

# Remove ALL story-theme directories
rm -rf /var/lib/ghost/content/themes/story-theme*

# Exit
exit

# Restart Ghost
docker-compose restart ghost

Step 2: Clean Start (Alternative)

If the above doesn’t work, do a complete reset:

cd ghost-theme

# Stop and remove everything
docker-compose down -v

# Start fresh
docker-compose up -d

Step 3: Upload Your Theme

  1. Build your theme:
    npm run build
    npm run zip
    
  2. Upload via Ghost admin:
    • Go to Settings → Design
    • Click “Upload a theme”
    • Select theme.zip
    • Wait for upload
    • Activate it
  3. Verify:
    • Should see only ONE “Story Theme”
    • Version should be 1.0.0

Why This Happens

Ghost stores themes in /var/lib/ghost/content/themes/. If you:

  • Upload a theme multiple times
  • Have old themes in the volume
  • Mix volume mounts with uploads

You can end up with duplicates.

Prevention

  • Use one method: Either volume mount OR upload via admin, not both
  • Clean before uploading: Remove old themes first
  • Check before uploading: List themes to see what exists

Quick Fix Command

# Remove all story themes
docker-compose exec ghost rm -rf /var/lib/ghost/content/themes/story-theme*

# Restart
docker-compose restart ghost

# Then upload fresh theme.zip

© 2025, Ramin Firoozye. All rights reserved.