How to Install Ghost on DigitalOcean: Step-by-Step Guide
A complete beginner's guide to installing Ghost CMS on DigitalOcean using their one-click installer, from creating a droplet to configuring DNS and SSL.
Why DigitalOcean for Self-Hosting Ghost?
If you're looking to self-host Ghost CMS, DigitalOcean is one of the best options available for two key reasons. First, they offer a one-click Ghost installer that handles the entire server stack for you — nginx, MySQL, and Ghost itself are all pre-configured and ready to go. Even if you've never touched a command line before, you'll be up and running in minutes.
The second reason is cost. DigitalOcean frequently offers $100 in free hosting credits for new accounts, which gives you plenty of runway to test things out before committing any real money. That's a generous buffer for getting your Ghost blog off the ground without financial pressure.
Before You Start: Get a Domain Name
Before diving into the installation process, you'll need a domain name ready to go. If you don't already have one, head over to a registrar like Namecheap or Hover, grab a domain, and then come back to continue.
This isn't optional — Ghost requires a domain name during the setup process, and your SSL certificate (which encrypts your site's traffic) will be tied to it. Having your domain purchased and accessible before you start will save you from hitting a wall partway through the installation.
Should You Self-Host or Use Ghost Pro?
Before committing to self-hosting, it's worth considering whether Ghost Pro — Ghost's managed hosting service — might be a better fit. Ghost Pro starts at just $9 per month and takes care of several things you'd otherwise need to handle yourself, including email sending (which requires a Mailgun integration on self-hosted setups), automated backups, and technical support.
The math on self-hosting really only starts to make sense once you hit around 2,000 to 3,000 subscribers. At that point, Ghost Pro's pricing jumps to $40 per month and continues climbing as your list grows. A DigitalOcean droplet, on the other hand, stays at a flat rate regardless of your subscriber count. If you're just getting started, Ghost Pro is probably the smarter move — you can always migrate to self-hosted later when the economics make sense.
Configuring Your DigitalOcean Droplet
Once you're inside DigitalOcean, click the green "Create" button to spin up a new droplet. The most important step here is navigating to the Marketplace tab and searching for "Ghost." Selecting the Ghost one-click installer means you won't have to manually set up nginx, MySQL, or any of the other server components — it's all handled for you.
For the plan, the basic shared CPU option works perfectly for new sites. The premium AMD CPUs are a worthwhile upgrade, and you can start as low as $7 per month. However, the $14 per month tier is the recommended sweet spot — it gives you more RAM and a bit of headroom for handling traffic spikes. If you're migrating from Ghost Pro to save money, dedicated CPU plans starting around $42 per month give you serious resources.
Choose a data center region close to your target audience, then set up authentication. If you're familiar with SSH keys, add yours now. Otherwise, just create a strong password — either method works fine. Before finishing, consider enabling two free options: monitoring (gives you server analytics) and IPv6 support. You should also seriously consider enabling automated backups. It's an additional cost, but since you're managing your own server, there's no one else handling this for you. Ghost Pro and other managed platforms include backups automatically, so this is one of those hidden costs of self-hosting to keep in mind.
Setting Up Your DNS Records
After your droplet finishes spinning up, you'll see an IP address displayed in the DigitalOcean dashboard. Copy it — you'll need it for your DNS configuration. Head over to wherever you manage your domain's DNS settings. This might be Cloudflare, Namecheap, or whichever registrar you purchased your domain from.
You need to create two records. First, add an A record with the name set to "@" (which represents your root domain) and paste in your droplet's IP address. If you're using Cloudflare, turn off the proxy status during setup — you can re-enable it after Ghost is fully installed. Second, create a CNAME record with the name "www" pointing to your root domain (e.g., yourdomain.com). This ensures visitors who type "www" in front of your URL get redirected properly. Again, if you're on Cloudflare, leave the proxy off for now.
Completing the Ghost Installation via Terminal
Open your terminal (available on both macOS and Windows) and SSH into your server by typing `ssh root@your-ip-address`. When prompted about connecting to an unknown host, type "yes" to confirm. The server will automatically begin updating Ghost to the latest version before proceeding with the setup.
Ghost will ask you for two pieces of information: your domain name and an email address for the SSL certificate. Enter your domain (e.g., yourdomain.com) and your email, and Ghost will handle the SSL setup automatically. If you get an error at the SSL step, it means your DNS records haven't propagated yet — double-check your A record configuration and try again.
Once the installation completes, you'll receive a URL to visit in your browser to finish the setup. This final step is just a simple form — enter your site title, name, email, and a password (minimum 10 characters), and you're done. One critical thing to remember for the future: any time you need to make changes to Ghost from the command line, you must switch to the `ghost-mgr` user account. You cannot modify Ghost files as the root user. DigitalOcean provides this command in the "Get Started" guide for your droplet, so bookmark it or save it somewhere accessible.
Watch the Full Video
Prefer watching to reading? Check out the full video on YouTube for a complete walkthrough with live demos and commentary.