We're live-coding on Twitch! Join us!

Install Ghost on DigitalOcean with 1-Click

Ghost is an open source CMS built on Node.js. It has been around for a while and has grown a strong following because of its commitment to open source and staying an independent company. Ghost is even so open source and transparent, you can view their revenue and earnings.

Ghost can be a solution that is hosted by Ghost at ghost.org or you can host your own instance on your own hosting solution like DigitalOcean. Ghost's pricing increased based on monthly views and staff on hand. Hosting it yourself on DigitalOcean means you only have to pay for the servers you create.

Ghost Features

Ghost has a lot of useful features.

  • Clean and modern UI
  • Easy to use content editor
  • Mobile content management
  • Beautiful themes
  • Hundreds of integrations with newsletters, and more
  • User memberships built-in (if using the Ghost hosted version)
  • Be used as a Headless CMS

The one feature that I'm most interested in recently is that Ghost can be used as a Headless CMS. This means we can create a Ghost site and consume its content via API using a tool like Gatsby. Ghost supports the JAMstack model!

Installing Ghost on DigitalOcean

DigitalOcean has a Marketplace where there are applications that we can deploy with 1-click.

There are popular tools we can install quickly like WordPress, Ghost CMS, Strapi, Node, and more.

Using the Ghost DigitalOcean 1-Click

We can find the Ghost 1-click installation on the DigitalOcean Marketplace: marketplace.digitalocean.com/apps/ghost

The installation instructions on this page are good to read through. We'll be following along with this and also bringing in our own screenshots for our walkthrough.

Let's give the Create Ghost Droplet button a click. We are taken to our DigitalOcean dashboard where we can configure and create a new droplet.

Let's keep the standard setup with the $40 droplet. You can change this based on your site traffic and needs. You could use a smaller droplet while getting your project off the ground and then resize it later.

Be sure to pick the location closest to your customers.

Another important part of the setup to focus on is the SSH keys. This is how you will login to your newly created droplet.

You'll be taken back to your dashboard where you can see your new droplet being created!

One thing to note is that we should have a domain for this new Ghost site. A domain is required to setup the Ghost install. We will be pointing our domain to our new droplet soon.

Setting Up Ghost

Once our droplet has been created, we will be able to follow along with the setup instructions. We need to SSH into it so that we can finish our Ghost installation. Let's SSH into our droplet:

ssh root@use_your_droplet_ip

Once we login, we'll see the installation do its work:

Adding a Domain

To add a domain, we need to add an A record in our domain's DNS. This A record will point towards our new IP for our new droplet.

I'm handling all my domains and networking from the Networking section of my DigitalOcean dashboard. I have a domain named codehearted.io in my account that I will use.

Use @ to create a DNS record for the main domain. We are pointing it towards our new droplet. Click Create Record.

Make sure that when you visit your url, it redirects you to your new Ghost installation. Once that DNS record is working, we can go back to our terminal to continue installation.

You'll be prompted to enter:

  • Enter your blog URL
  • Enter your email (For SSL Certificate)

Let the installation complete and we'll have:

  • A new domain pointed to our new Ghost installation
  • An SSL certificate so that our site is https

We're ready to go!

Visit that URL and you'll be able to see your new Ghost dashboard!

Setting Up Ghost Admin Panel

To get Ghost to work, we need to add an admin user and configure a few things.

You'll be able to invite staff members:

We also have emails working! You'll get a welcome email from your new site.

We'll be taken to our dashboard where we can create our new blog! We'll do a deep dive into Ghost features in a future article. For now, enjoy your new Ghost site!

Like this article? Follow @chrisoncode on Twitter