In five minutes, anyone can have a Ghost blog up and running, with media uploads hosted on IPFS thanks to Fission.

demo of fission's ghost starter deploying to heroku

Thinking of starting a Ghost blog but leaning towards "nah, too much work"?

Here's how you do it with Fission's Ghost Blog Starter: click a button, choose a URL, watch a couple of spinners do their thing, and voilà: a production-ready Ghost blog instance is live on Heroku in less than 5 minutes.

Best of all? Image and video uploads—which aren't supported by default on Heroku due to its read-only filesystem—are built-in and work seamlessly. The Fission Heroku Add-on takes care of everything without intervention, creating a new Fission account for your blog, handling media uploads, and serving those assets for you on HTTPS and on the peer-to-peer IPFS network.

Going Headless

Ghost is a great platform for authors, with almost a decade of accumulated improvements in user experience.

One shortcoming though is that it doesn't scale beyond a single server:

Ghost doesn’t support load-balanced clustering or multi-server setups of any description, there should only be one Ghost instance per site.
Ghost documentation

Caching pages and serving them via a content delivery network (CDN) is one way to mitigate this. But if content has to be turned into static files and served from the edge anyway, why not go a step further and decouple Ghost, the authoring interface, from the code that generates those files based on the content?

That's the Headless CMS approach, where a static site generator pulls the content from the content management system and builds the pages that can be served super-fast at scale at the edge. This opens up the possibility to tap into a rich ecosystem of frontend development tools and components (like React and others) for a much richer content experience, along with security and performance benefits.

On a previous post, we described how we're moving our own blog to a Headless Ghost + Next.js setup. This allows us not only to make the best out of what the frontend can do, but also to showcase how Fission enables personalization at the edge, something that used to be possible only with dynamically-rendered server-hosted websites.

By using our Ghost blog starter, you can try this setup for yourself and follow along as we continue to share tools, process, and lessons on our own path to a webnative publishing experience.