Removing Built-in Story Theme from Ghost

Quick Solution: Fresh Start (Easiest)

Since you’re okay with starting fresh, this is the cleanest approach:

cd ghost-theme

# Stop and remove everything (including volumes)
docker-compose down -v

# Start fresh
docker-compose up -d

Then:

  1. Go to http://localhost:2368/ghost
  2. Complete the setup (create admin account)
  3. Upload your custom theme via Settings → Design → Upload a theme
  4. Activate it

Alternative: Remove Built-in Theme Only

If you want to keep your data but remove the built-in theme:

cd ghost-theme

# Access the container
docker-compose exec ghost bash

# Inside container, list themes
ls -la /var/lib/ghost/content/themes/

# Remove the built-in story-theme (if it exists separately)
rm -rf /var/lib/ghost/content/themes/story-theme

# Exit container
exit

# Restart Ghost
docker-compose restart ghost

Important Note

Your docker-compose.yml mounts your local theme directory:

- ./:/var/lib/ghost/content/themes/story-theme

This means your local ghost-theme/ directory IS the theme in Ghost. If there’s a conflict, it might be because:

  1. Ghost created a default theme with the same name
  2. You uploaded a theme that created a duplicate

Since you’re okay with starting fresh, I recommend:

cd ghost-theme
docker-compose down -v
docker-compose up -d

This gives you a clean slate. Then:

  1. Complete Ghost setup
  2. Upload your custom theme (built with npm run build && npm run zip)
  3. Activate it

This ensures only YOUR theme exists, not any built-in version.


© 2025, Ramin Firoozye. All rights reserved.