We may earn a commission if you sign up through links on this site, at no extra cost to you. Full disclosure.

Self-Host Ghost on DigitalOcean

Ghost is the cleanest publishing platform going, and it's fully open source, so you can run it yourself. The interesting part is that the savings are much smaller than with WordPress: Ghost Pro starts at $15/mo, and a properly-sized self-hosted Droplet with backups lands around $14. That changes the calculation considerably.

The short version

Self-host Ghost if you want control, custom themes and integrations, or you're running several publications on one server. If you're running a single blog and the only reason you're here is to save money, be aware you'd save roughly a dollar a month over Ghost Pro while taking on all the maintenance. That's a bad trade for most people, and we'd rather say so.

What it costs

SetupDroplet+ weekly backupsMonthly total
Minimum viable$6 (1 GB / 1 vCPU)$1.20$7.20
Recommended single site$12 (2 GB / 1 vCPU)$2.40$14.40
Busy publication$18 (2 GB / 2 vCPUs)$3.60$21.60
Several publications$24 (4 GB / 2 vCPUs)$4.80$28.80

Ghost runs Node.js and MySQL on the same box, which is heavier than it sounds — 1 GB works but leaves little headroom, and Node processes that run out of memory get killed. 2 GB is the realistic starting point. For comparison, Ghost Pro starts at $15/mo and includes hosting, updates, backups and support.

What's on the server

ComponentRole
Ghost (latest)The publishing platform itself.
Node.js 22.xGhost's runtime. Major Node upgrades are your job.
MySQL 8.0The database, running locally on the same Droplet.
NginxWeb server and reverse proxy in front of Ghost.
Ghost-CLIHow you update, restart, and troubleshoot Ghost.

Setting it up

Roughly half an hour, most of it DNS propagation.

1. Sort your domain first

Unlike the WordPress image, Ghost really wants a registered domain before setup — SSL is requested during the install. Create the Droplet, then add an A record pointing your domain at its IP and let DNS propagate before you run the setup prompts.

2. Deploy the 1-Click image

Create a Droplet from the Marketplace Ghost image, 2 GB or larger, with an SSH key added at creation.

3. SSH in and follow the prompts

Connect with ssh root@your_droplet_ip. Ghost-CLI updates itself, then asks for your domain and an email address used only for the SSL certificate. Press enter and it configures Nginx, requests the certificate, and starts Ghost.

4. Create your admin user immediately — this matters

Go to https://yourdomain.com/ghost and create the owner account right now. Until you do, the setup screen is open to anyone who finds the site, and whoever gets there first owns your publication and, in practice, your server. This is the single most important step on this page and it's easy to postpone. Don't.

5. Turn on backups

Automated Droplet backups are off by default and cost 20% of the Droplet price weekly, 30% daily. Ghost also has its own export in the admin area — use both, since a Ghost export doesn't capture your uploaded images or server config.

Maintaining it

Easier than WordPress

  • Updates are one command: become ghost-mgr with sudo -i -u ghost-mgr, then run ghost update.
  • No plugin ecosystem, so no plugin conflicts and a far smaller attack surface.
  • SSL renewal is handled for you after the initial setup.
  • Ghost-CLI has a genuinely useful ghost doctor for diagnosing problems.

Still yours to do

  • Ubuntu security patches, same as any server.
  • Node.js major version upgrades, which Ghost requires periodically and which can break things.
  • Email delivery. Ghost needs an external provider like Mailgun for newsletters — this is not optional if you plan to send anything, and it's the most common self-hosting frustration.
  • Uptime monitoring and MySQL health.
  • Restoring from backup when an update goes wrong.

Self-hosted or Ghost Pro?

Self-host if you want to modify themes freely, need integrations Ghost Pro doesn't allow, run multiple publications on one server, or simply want to own the stack. Multiple sites is where the economics genuinely favour self-hosting — three publications on one $24 Droplet beats three Ghost Pro subscriptions comfortably.

Use Ghost Pro if you're running one publication and want to write rather than administer. At $15/mo it's within a couple of dollars of doing it yourself, and the money goes to the people who make Ghost, which keeps the open-source project funded. That's a reasonable thing to want.

FAQ

Can I migrate an existing Ghost site?

Yes. Export your content as JSON from the old admin panel, import it into the new one, then re-upload your images — the JSON export references images but doesn't contain them. Themes need reinstalling separately.

Do newsletters work on a self-hosted install?

Only once you connect a bulk email provider. Ghost uses Mailgun for newsletter sending, and you'll need your own account. Transactional email for logins can go through any SMTP provider. Budget for this — it's the hidden cost of self-hosting Ghost.

Can I run Ghost and WordPress on the same Droplet?

Technically yes, practically don't. Both want port 80 and 443, both want a database, and debugging the resulting Nginx configuration is not a good use of an evening. Use separate Droplets or separate containers.

How do I update Ghost?

sudo -i -u ghost-mgr then ghost update. Take a backup first — Ghost updates are usually clean, but "usually" is doing work in that sentence.

Is 1 GB of RAM really not enough?

It runs, and a low-traffic blog may be fine. But Node plus MySQL on 1 GB has very little headroom, and the failure mode is the kernel killing a process rather than a graceful slowdown. Adding a swap file helps. 2 GB avoids the question.

Ghost from ~$14/mo self-hosted

A 2 GB Droplet with weekly backups. One-click image, no manual install.

Get started with DigitalOcean

Affiliate link — we may earn a commission at no extra cost to you.

← All DigitalOcean guides