API versioning
Ghost ships with a mature set of APIs. Each API endpoint has a status, which indicates suitability for production use. Read more about Ghost’s architecture.
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.
Mail config error in Ghost with Google Cloud
There’s a known issue that Google Cloud Platform does NOT allow any traffic on port 25 on a Compute Engine instance.
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.
Supported providers for self-hosting
We recommend using Digital Ocean who provide a stable option on which Ghost can be installed and have a very active community and an official Ghost One-Click Application.
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.
Why do I have to set up Mailgun?
Ghost has the ability to deliver posts as email newsletters natively. A bulk-mail provider is required to use this feature and SMTP cannot be used — read more about mail config.