How to Install Ghost CMS Locally

How to Install Ghost CMS Locally

Installing Ghost locally is the right move when you need to see theme changes in real time. Simple edits can wait. For active theme development where every change needs a live preview before it goes anywhere near production, a local install is the right environment.

How to Install Ghost CMS Locally

The official Ghost local install documentation is the authoritative reference. What follows is a practical walkthrough with the context that doc leaves out.

What You Need Before Installing Ghost Locally

Ghost runs on Node.js, so that is your first requirement. As of early 2026, Ghost requires Node v22 LTS. This matters more than it sounds. Using an unsupported version throws ERROR: Unsupported version of Node and the install stops cold. We have seen people spend an hour debugging what turns out to be Node 20 still running on their machine after they thought they upgraded. Check with node -v before you do anything else.

Beyond Node, you need npm (bundled with Node), and an empty directory. That last part is not optional. Ghost-CLI checks whether the target directory is empty and refuses to continue if it is not. Not a warning. It just stops.

One practical note on Windows: Ghost-CLI works best inside WSL running a Debian-based distro. Running it natively in PowerShell is technically possible but produces inconsistent results, and the Ghost team does not officially support it. Save yourself the friction and use WSL.

Step 1: Install Ghost-CLI

Ghost-CLI handles installation, updates, and day-to-day management of Ghost instances. Install it globally:

npm install ghost-cli@latest -g

Once that finishes, run ghost help to confirm it is available. If your terminal does not recognize the ghost command after install, your npm global bin directory is probably not in your PATH. On macOS that is usually ~/.npm-global/bin. Add it to your shell profile and reload.

Step 2: Run the Install

Navigate into the empty directory you created, then run:

ghost install local

This downloads Ghost from npm, sets up a SQLite3 database, and starts everything in development mode. No MySQL, no NGINX, no SSL. That is intentional. The local install is not meant for production and is not configured like one.

The process takes two to four minutes depending on your connection speed. Ghost pulls in a lot of dependencies. Let it run.

Step 3: Access Ghost Admin and Start Building

Your site runs at http://localhost:2368. Ghost Admin is at http://localhost:2368/ghost.

The first visit to the admin URL triggers Ghost’s onboarding flow: account creation, publication name, initial theme selection. Get through that quickly. For theme development, the part you actually care about starts right after. Drop your theme folder into content/themes/, activate it under Settings > Design, and Ghost picks up file changes without needing a restart.

The local install uses SQLite3, stored as a file inside your installation directory. Your posts, settings, members, and everything else live in that file. It persists between sessions. And if you delete the directory, it is gone. No separate database to clean up, but no safety net either.

One thing that surprises people: the admin URL uses port 2368 by default, but if that port is already in use on your machine, Ghost picks a different one and prints it during install. If you cannot reach localhost:2368, check the install output or run ghost ls to see what port Ghost is actually using.

Managing Your Local Ghost Instance

Ghost runs as a background process after install. It keeps running after you close the terminal. Stops when you restart your computer.

ghost stop
ghost start
ghost log
ghost ls

ghost ls lists every running Ghost instance on your machine with its port, version, and process status. ghost log streams the current instance’s logs, useful when something breaks on startup and the terminal error is not specific enough.

Ghost Local Install: When It Makes Sense

This setup is for anyone doing active theme development who needs a live Ghost environment to check changes as they happen. For simpler edits, the online theme editor is the faster option.

Start local, build until it works, then deploy.