Skip to content
inetGeek

Ghost on Railway

Railway publishes its own guide for deploying Ghost.

Open-source publishing platform running as a long-lived Node process, requiring MySQL in production and a writable content directory for uploads and themes.

01.

What Ghost needs.

Every host claims to run Ghost, so the claim on its own decides nothing. These are the things Ghost actually requires from the platform underneath it, and what Railway publishes about each. Railway documents 4 of the 4.

Persistent storage

Supported

Ghost writes uploaded images and installed themes into its content directory at runtime. On an ephemeral filesystem those disappear at the next deploy, and the posts referencing them break.

Sources (1) →
  • Volumes | Railway Docs ↗

    “Volumes are a feature that enables persistent data for services on Railway. [...] When mounting a volume to a service, a volume is made available to the service on the specified mount path.”

    Read 2026-09-05 · official docs

Managed databases

Limited

Ghost 5 supports only MySQL 8 for production. SQLite works for development, so a guide that sets one up is not showing you a production install.

Sources (1) →
  • Databases — Railway Docs ↗

    “Railway enables you to deploy and manage databases alongside your applications. [...] The fastest way to deploy a database is through Railway's database templates [...] These templates are maintained by Railway and come pre-configured with sensible defaults.”

    Read 2026-09-05 · official docs

Persistent processes

Supported

Ghost is one long-running Node process that serves requests and fires scheduled publishing. It is not a set of functions and cannot be deployed as one.

Sources (1) →
  • Services — Railway Docs ↗

    “Persistent services: Services that are always running. Examples include web applications, backend APIs, message queues, database services, etc.”

    Read 2026-09-05 · official docs

Storage (entry plan)

5 GB maximum volume size on the Hobby plan ($5/month); volume storage is not included, it is billed on usage

A publication's image library grows steadily and is almost never pruned, so disk is the cap a busy Ghost site reaches before any other.

Sources (1) →

The requirement and the reason it matters are ours. Every value beside them was read from Railway's own pages — expand a source to see the sentence it came from.

02.

What Railway documents.

Railway publishes its own guide for deploying Ghost.

This guide covers deploying Ghost on Railway from the official Docker image with a MySQL database and persistent content storage.

Sources (1) →
03.

What it costs to run there.

Entry paid plan
$5 / month (Hobby)
Pricing model
Plan fee that includes an equivalent usage credit
When you exceed a cap
Billed automatically: on the Hobby plan ($5/month, includes $5 of resource usage) usage above the included amount is charged as a delta on top of the subscription — no throttling or suspension is documented
Regions
4 regions: California, Virginia, Amsterdam, Singapore
Sources (3) →
  • Railway plans ↗

    “Hobby Plan: For indie hackers and developers to build and deploy personal projects — $5/month”

    Read 2026-09-05 · official docs

  • Pricing Plans | Railway Docs ↗

    “If your total resource usage exceeds $5 in any given billing period, you will be charged the delta”

    Read 2026-09-05 · official docs

  • Railway regions ↗

    “US West Metal — California, USA; US East Metal — Virginia, USA; EU West Metal — Amsterdam, Netherlands; Southeast Asia Metal — Singapore”

    Read 2026-09-05 · official docs

04.

Whether it suits you.

Teams that want a plan fee which doubles as usage credit, and deploy services straight from a Dockerfile without managing servers. The $5 Hobby fee comes back as $5 of resource usage.

Consider something else if…

You need to run in a region outside California, Virginia, Amsterdam or Singapore.

Written by Palash Bagchi on 2026-09-05. This is a recommendation, not a sourced fact — it carries no citation because it is an opinion.

Visit Railway documentation