Back to Apps
Ghost

Deploy Ghost on Your Own Server

Ghost is a free and open source blogging platform written in JavaScript and distributed under the MIT License

πŸ“ CMSπŸ“ˆ Monitoring

Want to deploy Ghost on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Ghost?

Ghost is a fully open source, adaptable platform for building and running a modern online publication. We power blogs, magazines and journalists from Zappos to Sky News.

Self-Host Ghost

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  ghost:
    image: bitnamilegacy/ghost:5.2.2
    environment:
      GHOST_BLOG_TITLE: User blog
      GHOST_DATABASE_HOST: ghost-db
      GHOST_DATABASE_NAME: ghost
      GHOST_DATABASE_PASSWORD: ""
      GHOST_DATABASE_PORT_NUMBER: "3306"
      GHOST_DATABASE_USER: ghost
      GHOST_EMAIL: youremail@example.com
      GHOST_ENABLE_HTTPS: yes
      GHOST_HOST: blog.example.com
      GHOST_PASSWORD: ""
      GHOST_PORT_NUMBER: "2368"
      GHOST_SMTP_FROM_ADDRESS: blog@example.com
      GHOST_SMTP_HOST: smtp.gmail.com
      GHOST_SMTP_PASSWORD: ""
      GHOST_SMTP_PORT: "587"
      GHOST_SMTP_PROTOCOL: ""
      GHOST_SMTP_USER: your_email@gmail.com
      GHOST_USERNAME: user
    volumes:
      - ghost-data:/bitnami/ghost
    depends_on:
      - ghost-db
  ghost-db:
    image: bitnamilegacy/mysql:8.0
    environment:
      MYSQL_DATABASE: ghost
      MYSQL_PASSWORD: ""
      MYSQL_ROOT_PASSWORD: ""
      MYSQL_ROOT_USER: admin
      MYSQL_USER: ghost
    volumes:
      - ghost-db-data:/bitnami/mysql
volumes:
  ghost-data: {}
  ghost-db-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:2368

Why Self-Host Ghost?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

bitnamilegacy/ghost:${ghost_version}

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"