How To Start a Self-Hosted Ghost Blog
Photo by Luca Onniboni / Unsplash

How To Start a Self-Hosted Ghost Blog

Deploy your Ghost blog on DigitalOcean for cheap

Guillaume Vincent
Guillaume Vincent

Ghost is a straightforward and modern blogging platform. Unlike WordPress, you cannot use it for an e-commerce site or other types of websites. Ghost is only for blogging and content.

Writing articles with Ghost is really simple. It uses Markdown language rather than visual WYSIWYG editing. It is very close to the writing experience you can have on the Medium platform. You have only to focus on your content and on the layout. In addition to that, SEO and social tools are already integrated.

Ghost runs on a NodeJS server that offers good performances and a rise in load. When the hosting question comes there are two possible solutions:  

  • The self-hosted version is free to download and to use. You have to manage updates and maintenance of Ghost but it is cheap.
  • The managed-hosted version on the own Ghost's server. You do not have to manage updates and maintenance but you pay more.

The article you are reading is running on a self-hosted Ghost server at DigitalOcean. DigitalOcean is the official hosting partner of the Ghost open source project. It provides an easy way to deploy a VPS (Virtual Private Server) through the marketplace.

I am going to detail to you how to proceed to have the same. You can use my referral link to get started if you do not have a DigitalOcean account yet. You will receive $100 in credit.

Create The Ghost Droplet

In the Manage menu go to Droplets:

The Droplets in the menu
The Droplets in the menu

Click on Create and then choose Droplets:

Creation of the droplet
Creation of the droplet


Choose an image from the Marketplace. Type ghost in the search bar:

Choice of the Ghost image from the Marketplace

You can customize your plan following your needs:

Choice of a plan for the droplet

Concerning authentication, I recommend you choosing SSH keys for better security:

Configuration of the authentication to the droplet

For a small extra cost, you can have included backups for your droplet:

The automated backup option for the droplet

Click on Create Droplet

Take notes of the VPS public IP when it is created.

Connect to The Droplet

Load your private key in your SSH agent:

$ eval `ssh-agent`
# Change the path with your own private key if it is different
$ ssh-add $HOME/.ssh/id_rsa

Connect to the VPS using the public IP address:

$ ssh [email protected]_droplet_public_ip

After login, ghost-cli will automatically perform an update check for all available packages. When finished, you will see a prompt. You need to fill in your domain name and email for the SSL certificate:

Ghost will prompt you for two details:

1. Your domain
 - Add an A Record -> xxx.xxx.xxx.xxx & ensure the DNS has fully propagated
 - Or alternatively enter http://xxx.xxx.xxx.xxx
2. Your email address (only used for SSL)

Press enter when you're ready to get started!

Configure The Ghost Interface

Once finished, go to https://your_domain/ghost. On the welcome screen, click Create your account:

The Ghost Welcome Page
The Ghost Welcome Page

Enter your email, create a user and password, and enter a blog title:

Creation of the admin Ghost account
Creation of the admin Ghost account

Invite additional members to your team if you want or click I'll do this later, take me to my blog! at the bottom of the page:

Invite your staff to be part of your Ghost blog
Invite your staff to be part of your Ghost blog

Configure Ghost Settings and Theme

On the left menu, you have the menu with the posts and elements to manage :

The Ghost interface sidebar
The Ghost interface sidebar

You can configure the Ghost settings by clicking on the gear icon at the bottom left:

Access the Ghost settings
Access the Ghost settings

You can customize the branding and theme :

The Ghost settings
The Ghost settings

Ghost offers free themes to start. You need to download the theme and upload it in the interface:

Configure a theme in Ghost
Configure a theme in Ghost

If you are looking for a more complete theme with newsletter and membership full support. You should have a look to Aspire themes. I am using the Krabi theme from Aspire.

Have good writing!

Resources

Ghost: Turn your audience into a business
The world’s most popular modern publishing platform for creating a new media platform. Used by Apple, SkyNews, Buffer, OpenAI, and thousands more.
How to install Ghost on Digital Ocean - Official guide
A full production install guide for how to install the Ghost professional publishing platform on a production server running Ubuntu 16.04, 18.04 or 20.04.
Cloud

Guillaume Vincent

DevOps Engineer & AWS Certified Solution Architect. Cloud enthusiast and automation addict