Getting back on the (Speed) Wagon

Reviving an old an abandoned project

Posted by Darren on 14 March 2020

A long while back I wrote some posts about Speedwagon - a runtime for Umbraco content that allowed you to serve up a website from JSON files that were created when Umbraco published content.

It all worked really well - at Moriyama we power some big sites that needed to scale out quickly based on this model. I also moved my old blog over to use this.

Except one thing didn't work very well... I stopped blogging. This was because I hosted the Umbraco instance that I used to write my posts, and subsequently publish the JSON i needed on a local PC. I didn't really want to have the costs of hosting Umbraco and a SQL database in Azure in order to feed my blog.

This led to a situation where it became quite a process to blog. I'd have to spin up Umbraco on the PC I had it running on, publish a post - and then push out the JSON using FTP to the webapp in Azure that was hosting the blog. It was all quite a lot of effort, and as you'll see on the old blog, no posts - since 2016!

I'd come up with a clever but stupid solution all in one.

In the last couple of weeks, mainly due to insomnia, I got around to finishing of a project I'd started a while back. Porting Speedwagon to .NET core, and putting a little UI over the top of it so that I could create content types and content within a web application.

So here we are - a new blog based on Speedwagon. Over the next few weeks (insomnia permitting) I'll write a bit more about what Speedwagon is and does - and how you can get up and running. I'll also write about how you can set up a Blog using Speedwagon in a free Azure webapp - using Cloudflare for a custom domain name and SSL (it is a real shame that the entry level for an Azure webapp with a custom domain and SSL certificate is around £40 per month).

The core of Speedwagon is still what I wrote about a few years back:

  • No database required - file system only
  • Selective caching of content for low memory usage
  • Easy to scale by rolling out new instances
  • Easy to version and deploy content - just JSON files in a git repository
  • Uninstrusive into your implementation - makes no decisions on how you build your site

What is new:

  • Ability to edit and create content types and content
  • Lucene search
  • Azure blob storage provider for content and images
  • Ability to create custom content editors

If you are curious - please have a play with the GitHub repository - and ask any questions you may have in the Github issues.