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.
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 5 of the 6.
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) →Sources ↓
- 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) →Sources ↓
- 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) →Sources ↓
- Services — Railway Docs ↗
“Types of services Persistent services Services that are always running. Examples include web applications, backend APIs, message queues, database services, etc.”
Read 2026-09-13 · official docs
Storage (entry plan)
0.5 GB of volume storage on Free and up to 5 GB on Hobby ($5/month) — a ceiling, not an allocation, and volume storage is billed on usage rather than included. Recorded without a magnitude for the same reason as this record's memory figure: a cap you pay for is not comparable with an allowance you are given.
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) →Sources ↓
- Railway Pricing ↗
“Ephemeral disk 1 GB 100 GB 100 GB 100 GB Volume storage 0.5 GB Up to 5 GB Up to 1 TB Up to 5 TB Volumes per project 3 during trial, then 1 10 20, can be increased Unlimited”
Read 2026-09-14 · official pricing
Scheduled jobs
Supported
Ghost publishes posts at a future time and sends newsletters on a schedule, both fired by timers inside the running process. A host that sleeps the process or offers no scheduler will publish late or not at all.
Sources (1) →Sources ↓
- Cron Jobs | Railway Docs ↗
“Cron Jobs allow you to start a service based on a crontab expression. [...] The shortest time between successive executions of a cron job cannot be less than 5 minutes.”
Read 2026-09-05 · official docs
Backup retention
Not documented
A Ghost install is a MySQL database plus a content directory, and losing either loses the publication. How far back the host's own backups reach is the difference between an incident and an outage.
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) →Sources ↓
- Self-host Ghost with MySQL and Custom Themes — Railway Docs ↗
“This guide covers deploying Ghost on Railway from the official Docker image with a MySQL database and persistent content storage.”
Read 2026-09-05 · official docs
Ghost features on Railway
Capabilities Railway documents specifically for Ghost, with the constraint it documents alongside each.
mysql_database
Supported
Add a MySQL database: click + New, then Database, then MySQL. Ghost requires MySQL. It does not support Postgres.
persistent_content_storage
Supported
Ghost stores themes, images, and other content in /var/lib/ghost/content. This directory must persist across deploys. [...] Add a volume with the mount path /var/lib/ghost/content. Without a volume, all uploaded images and custom themes are lost on each deploy.
smtp_email
Supported
Ghost uses email for member sign-ups, newsletters, and password resets. Configure an SMTP provider by adding these variables: [...] Ghost supports Mailgun, SendGrid, and any SMTP service.
one_click_install
Supported
One-click deploy from a template Railway has a Ghost template: After deploying, generate a domain and update the url environment variable to match.
Sources (1) →Sources ↓
- Self-host Ghost with MySQL and Custom Themes — Railway Docs ↗
“Add a MySQL database: click + New, then Database, then MySQL. Ghost requires MySQL. It does not support Postgres.”
Read 2026-09-13 · official docs
What it costs to run there.
- Entry paid plan
- $5 / month (Hobby)
- Pricing model
- A base subscription fee that goes towards usage, with the plan's own credit included; anything beyond the credit is billed as resource usage.
- 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) →Sources ↓
- Plans — Railway Docs ↗
“Plan Price Free $0 / month Hobby $5 / month Pro $20 / month Enterprise Custom”
Read 2026-09-13 · official pricing
- 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
- Regions — Railway Docs ↗
“Name Location Region Identifier US West Metal California, USA us-west2 US East Metal Virginia, USA us-east4-eqdc4a EU West Metal Amsterdam, Netherlands europe-west4-drams3a Southeast Asia Metal Singapore asia-southeast1-eqsg3a”
Read 2026-09-13 · official docs
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.
Visit Railway documentation