How to set up a free Status Page on Github

Stan Bright
4 min readMar 9, 2016

--

Nowadays every self-respecting online service or website requires a status page. On one side, it helps you better communicate the embarrassing moments when your site is down. On the other hand, it makes your website look more professional and trustworthy. It is not crucial if you don’t have one; however, it can help you stand out from the crowd.

One day ago a post on HackerNews got the attention of the community —
Show HN: Host your status page on GitHub. As a result, this tool has a considerable number of “stars” now. This morning, in the shower, I got the epiphany to try out the aforementioned tool for some of my websites. So, I will test-drive it by setting up status pages for 3 of my websites SaaSHub, EarlyRisersHub & SolitaireQueeen.

What is promising pyupio’s statuspage tool:

“A statuspage generator that lets you host your statuspage for free on Github.”

Sweet! Exactly what we want. Obviously, we will need a Github account and “GitHub API token” for this. If you don’t have an API token, I will explain how to obtain one.

Тhe installation took more than I would expect for such a tool. The downloadable binary is 5.6MB!

Setting up the API token is simple. Just make sure to tick “public_repo”, otherwise, you will receive the not so helpful “’Not Found’” error on the command line when trying any of the statuspage commands. This is clearly stated in the README, yet I overlooked it and lost a lot of time.

Next, you have to create the new repo through the statuspage tool, checkout and customize the template. Everything I did was to add a logo, a link to the website and a minor edit of the copy. Away from that, the default template is pretty decent for its purpose. This part took an insignificant amount of time.

statuspage create --token=*** --org=SaaSHub --name=status
git clone https://github.com/SaaSHub/status.git saashub-status
cd saashub-status
subl .
... edit template.html, add images
git push
statuspage update --token=*** --org=SaaSHub --name=status

Some notes: You can use only one label. E.g. “Investigating”. The default “severity” labels are satisfactory and you can go without editing them or adding new. (I presume you’ve read the tool’s docs already)

In the end, something that everyone would like to have is a custom domain for their status page instead of my-status-page.github.io. That is easy. As it is advised by the statuspage’s tool README, all we have to do is add the appropriate DNS CNAMES pointing to the relevant GitHub domain. For example, saashub.com’s CNAME record looks like this:

status   CNAME     saashub.github.io.

Of course, things never happen from the first time. You know, if they did, it would be suspicious :). After setting up the correct CNAME record, I was getting a 404 Error.

What did I do wrong? Well, I had forgotten to add a CNAME record (with content: status.saashub.com) to the base of the repository. After doing that, and pushing the changes, everything was as it should be.

And that’s all. Now I have 3 pretty decent status pages hosted for free on GitHub. Should I want to update any of them, all I have to do is open an issue to the relevant repository and run a command line like:

statuspage update --token=API-TOKEN --org=ORGANIZATION_NAME --name=status

You can see the status pages yourself: SaaSHub Status; EarlyRisersHub Status; SolitaireQueen Status.

Pros:

  • It is FREE
  • It is relatively easy to set up and maintain

Cons:

  • There is no versioning of the tool, and you have to use always the latest “dist” version.
  • You have to maintain this yourself through the command line. That may be isn’t up to the liking of everybody.
  • GitHub suffers from outages itself. Although, we can assume that the chances of their downtime to coincide with ours are negligible.

Setting up all of this took me a few hours. Well, should I do it now, with this post in my hands, it will take me no longer than 30 minutes. It’s nice to have this in mind when deciding whether to have a FREE status page or pay a few bucks for a professional one.

The final verdict: I wouldn’t recommend this to everybody. Moreover, although it gets the base job done, it lacks many of the features offered by the paid Status Page tools. If you are not the kind of DIY people, I would suggest taking a look at some of the paid alternatives like: Status.io, StatusPage.io, StatusCake or StatusHub.

--

--

Stan Bright

Software Engineer. Founder of LibHunt, SaaSHub & EarlyRisersHub. Ruby on Rails expert. Elixir enthusiast.