This example deploys self-hosted version of Ghost. Internally it uses a MySQL database to store the data.
- Ghost
- MySQL
- Click the Railway button 👆
- Add the environment variables
- If you do not add the
CLOUDINARY_URLenvironment variable, your images/files will not be persisted between deploys. - Add the
MAILGUN_SMTP_LOGINandMAILGUN_SMTP_PASSWORDvariables if you want to invite users to your admin panel or send emails to your subscribers when you publish a new post.
- If you do not add the
- Railway's filesystem is ephemeral which is why any changes to the filesystem are not persisted between deploys. This is why, this example uses Cloudinary for storage.
- The above limitation also affects the way themes work with Ghost, we use the
bin/themes.shscript to copy over the themes every time you deploy. That way, the theme is always present.- To add a theme, first add the package as a dependency to the
package.jsonfile and then add it to the list of themes in thebin/themes.shfile. - Do NOT add a theme directly using the Ghost UI, it will look like it worked but will break whenever you deploy your app again.
- To add a theme, first add the package as a dependency to the