Clustering, sharding, HA and other multi-server setups

Ghost doesn’t support load-balanced clustering or multi-server setups of any description, there should only be one Ghost instance per site.

Filter property not working in routing

Working with more complex iterations of the filter property in the routes.yaml file can cause conflicts or unexpected behaviour. Here are the most common issues.

How can I backup my site data?

Learn how to backup your self-hosted Ghost install

How to resolve errors when running ghost start

If an error occurs when trying to run ghost start or ghost restart, try using ghost run first to check that Ghost can start successfully. The start and restart commands are talking to your process manager (e.g. systemd) which can hide underlying errors from Ghost.

Image upload issues

Image uploads can be affected by the default max upload size of 50mb. If you need more, you’ll need to increase the limit by editing your nginx config file, and setting the limit manually.

Major Versions & Long Term Support

Major version release dates and end of life support for Ghost.

Missing newsletter analytics

Open rates that are 0% may indicate that the connection between Ghost and Mailgun has stalled, which prevents Ghost from fetching your newsletter analytics.

Missing SSL protocol

After installing Ghost a url for your site is set. This is the URL people will use to access your publication.

Reverse proxying to Ghost

Ghost is designed to have a reverse proxy in front of it. If you use Ghost-CLI to install Ghost, this will be setup for you using nginx. If you configure your own proxy, you’ll need to make sure the proxy is configured correctly.

Root user permissions fix

A fix for root user permissions problems

Salt Incident Report: May 3rd, 2020

Analysis and retrospective of the critical Salt vulnerability on Ghost(Pro)

Supported Node versions

Ghost’s current recommended Node version is Node v20 LTS.

Translation in Ghost

Creators from all over the world use Ghost. Publications abound in German, French, Spanish, Sinhalese, and Arabic—and the list keeps going!

Troubleshooting MySQL databases

If your MySQL database is not correctly configured for Ghost, then you may run into some issues.

Unable to open sqlite3 database file

If the sqlite3 database file is not readable or writable by the user running Ghost, then you’ll run into some errors.

Update from Ghost 0.x versions

If you’re running Ghost 0.x versions, your site must be updated to Ghost 1.0 before it can be successfully updated to Ghost 2.0 and beyond.

Updating from deprecated Ghost-CLI

When managing your self-hosted Ghost publication using the recommended ghost-cli tooling, you should update your CLI version. If you are using a deprecated version and need to update in order to update or manage your Ghost site, some extra steps may be required.

URL for tags and authors returns 404 errors

The tag and author taxonomies must be present in routes.yaml otherwise the URLs will not exist. By default, Ghost installs with the following:

Using Cloudflare with Ghost

If you’ve added Cloudflare to your self-hosted Ghost publication and find that Ghost Admin doesn’t load after updates you may run into some errors in the JavaScript console:

Using nvm with local and production installs

This guide explains how to use nvm with local and production Ghost installs.

What databases are supported in production?

MySQL 8 is the only supported database in production.