Deploying Ghost on Heroku with Image Uploads

A few days ago I ran into an awesome, one-click option for deploying Ghost on Heroku. It's actually how this blog you're reading right now was built. The only problem is that it doesn't support image uploads. It makes sense. Heroku's file system is ephemeral, which is a fancy way of saying any content that is outside of the package you deploy can disappear at any point.

So, one option is to host images somewhere else and then link them into your posts. But that's kind of a pain.

Then I found a little Ghost plugin that enables image uploads to go to an AWS S3 bucket. Perfect. The only problem is that the previous one-click deploy package isn't set up to support that plugin.

So, I forked it. And then pulled in the plugin. It's not very pretty, but it works. Ghost doesn't yet support Storage apps (although I believe support is on the way) so I had to use a little hack to override the existing storage system with the S3 plugin.

Check out my version of Ghost on Heroku and let me know if it works for you, too.