DEV Community

Cover image for How to run Ghost CMS + Docker + Digital Ocean
Rafael Corrêa Gomes
Rafael Corrêa Gomes

Posted on • Edited on • Originally published at blog.rafaelcg.com

4

How to run Ghost CMS + Docker + Digital Ocean

As a developer probably you heard before about Ghost the #1 open-source headless Node.js CMS, I was planning to install it in Digital Ocean using a simple $5 Droplet using Docker instead of their 1-click to install.

I did researches and I didn't find some developer-friendly method to get it started. So why not create one?!
If you want a quick start you can access my Ghost CMS + Docker Compose repository to check it out!

Motivation

What I most like, is the Ghost's value proposition and what they want to achieve, the simplicity and well-designed panel and integrations motivated me to start too.
I wish more developers know the benefits to use it and to have the chance to test and use it in personal and professional projects as I did!

Advantages

I decided to create something that makes it easier to start to use in production and in your local environment. So I created a bash script to have these advantages:

☝️ 1 command to install

👨‍💻 Ready to production and local development

⚡ Performance Optimized

🔒 SSL auto-renewed

Stack

  • Ghost CMS (Last version)
  • MySQL 5.7
  • NGINX
  • Docker

Bash commands

Commands Description
./dc start Start your containers
./dc stop Stop all containers
./dc update Get Ghost updates and restart containers

Environments

Production

In production, you can run one command to install, specifying your domain as the last parameter.

curl -s https://raw.githubusercontent.com/clean-docker/ghost-cms/master/dc | bash -s setup mydomain.com
Enter fullscreen mode Exit fullscreen mode

Development

To prepare your local environment you just need to have Docker and Docker Compose installed and run:

git clone https://github.com/clean-docker/ghost-cms.git ghost
cd ghost/dev
docker-compose up -d
Enter fullscreen mode Exit fullscreen mode

Creating the script

I started assuming that you just created your environment and is running the script that I created to install, this below is the step-by-step description:

Automatically

  1. Change the domain in the NGINX and Docker file.
  2. Update packages
  3. Install SSL
  4. Install Docker
  5. Install Docker Compose
  6. Prepare the Ghost folders
  7. Configure the cron
  8. Start the Docker containers
  9. Show the URL to access

🙂 Thank you!

I hope you liked and enjoyed this post, I created it to the developer community to be motivated to test it as I did, if you have feedbacks please report or provide pull-requests, and don't' forget to give a star.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (1)

Collapse
 
officialrajdeepsingh profile image
Rajdeep Singh

I download ghost docker image for development propose.
when i run
docker-compose up -d
Command in terminal i face a error. look like.
Error
Tell me which method to you solve this error.

Cloudinary image

Optimize, customize, deliver, manage and analyze your images.

Remove background in all your web images at the same time, use outpainting to expand images with matching content, remove objects via open-set object detection and fill, recolor, crop, resize... Discover these and hundreds more ways to manage your web images and videos on a scale.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay