Deploy ghost-cms-v2
Ghost 6 + MySQL with persistent content volume and HTTPS
Ghost CMS
MySQL
Just deployed
/var/lib/mysql
Ghost
Just deployed
/var/lib/ghost/content
Deploy and Host Ghost CMS on Railway
Run Ghost 6 on Railway with MySQL, persistent content storage, private networking, and a Railway public domain.
About Hosting Ghost CMS
Ghost is an open-source publishing platform for blogs, newsletters, and membership sites. This template provisions a production Ghost service from the official ghost:6-alpine image, pairs it with Railway MySQL over private networking, and mounts a persistent volume at /var/lib/ghost/content so themes and uploads survive deploys. Ghost waits for MySQL before boot to avoid first-boot migration races.
Common Use Cases
- Self-hosted blogs and publications
- Newsletters and membership sites
- Headless CMS via Ghost Content API
- Marketing sites with Ghost themes
Dependencies for Ghost CMS Hosting
- Railway MySQL (included) for posts, members, and settings
- Ghost content volume for themes, images, and settings
- Optional SMTP provider for member auth and newsletters
Deployment Dependencies
- Ghost Docker image:
ghost:6-alpine - MySQL connection variables:
MYSQLHOST,MYSQLPORT,MYSQLDATABASE,MYSQLUSER,MYSQLPASSWORD - Public URL:
https://${{RAILWAY_PUBLIC_DOMAIN}} - Volume mount:
/var/lib/ghost/content
Why Deploy Ghost CMS on Railway?
Railway hosts Ghost, MySQL, volumes, and HTTPS in one project so you can publish without managing servers, TLS, or database networking yourself.
Template Content
Ghost
ghost:6-alpineNODE_ENV
server__host
server__port
database__client
MySQL
mysql:9.4MYSQLPORT
MYSQLUSER
MYSQL_DATABASE