Docs / Self-Hosted Applications / How to Self-Host Ghost Blog Platform

How to Self-Host Ghost Blog Platform

By Admin · Mar 1, 2026 · Updated Apr 24, 2026 · 27 views · 1 min read

What Is Ghost?

Ghost is a powerful, open-source publishing platform built for professional bloggers and publishers. It offers a clean editor, membership features, newsletters, and SEO optimization out of the box.

Requirements

  • A Breeze with at least 1 GB RAM
  • Node.js 18+ and MySQL/MariaDB

Method 1: Docker (Recommended)

mkdir -p /opt/ghost && cd /opt/ghost
cat > docker-compose.yml <<'EOF'
services:
  ghost:
    image: ghost:5-alpine
    restart: unless-stopped
    ports:
      - "2368:2368"
    environment:
      url: https://blog.yourdomain.com
      database__client: mysql
      database__connection__host: db
      database__connection__user: ghost
      database__connection__password: ghost_password
      database__connection__database: ghost
    volumes:
      - ghost-content:/var/lib/ghost/content
    depends_on:
      - db

  db:
    image: mariadb:11
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: root_password
      MYSQL_DATABASE: ghost
      MYSQL_USER: ghost
      MYSQL_PASSWORD: ghost_password
    volumes:
      - ghost-db:/var/lib/mysql

volumes:
  ghost-content:
  ghost-db:
EOF

docker compose up -d

Method 2: Native Install

sudo npm install -g ghost-cli
sudo mkdir -p /var/www/ghost
sudo chown $USER:$USER /var/www/ghost
cd /var/www/ghost
ghost install

Features

  • Beautiful Markdown and card-based editor
  • Built-in membership and subscription system
  • Newsletter sending
  • SEO optimization with structured data
  • Theme marketplace
  • REST and Content APIs
  • Native integrations with Zapier, Slack, and more

Was this article helpful?