7 ms·
Show HN: Host your status page on GitHub
- ordbajsare 11y agoShow HN: Host your status page on SJW run GitHub
- herbst 11y agoGithub recently is more offline than my Servers. Not sure if that would really help.
- jbrooksuk 11y agoWow... This looks very similar to Cachet [1]. Did you take inspiration from it? [1] https://cachethq.io https://cachethq.io
- jbrooksuk 11y agoAnyway, it's a clever idea but GitHub itself suffers a lot of outages. Is this a good idea?
- lordlarm 11y ago99.9% uptime for the last month [1] doesn't qualify as "a lot of outages" in my opinion. [1]: https://status.github.com/graphs/past_month https://status.github.com/graphs/past_month
- riquito 11y agoI find 43 minutes of outage in one month for a well paid service a bit much
- BillinghamJ 11y agoThey seem to be a significant target for DDOS attacks, which seem to have been quite frequent. That uptime measure is for the application server, which I suspect does not include GitHub Pages which is hosted separately on static content servers. Lastly, 99.9% uptime over a month means 43 minutes of downtime. To me, that sounds like quite a lot.
- darrenkopp 11y agoThe likelyhood that you have downtime at the exact same time GitHub does is fairly low though.
- joantune 11y agoAFAIK they have sharded their pages and repositories in a way that if one gets DDoS, usually it's only that piece that gets downtime (I know this because there was a problem with the Chinese government and a Github repo, that got constantly attacked, but that was the only repo suffering). Ofcourse, if one does a sharding, it's bound not to be repo by repo, so there might be adjacent ones suffering. But I use GH everyday, can't remember a time when it was offline.
- joantune 11y agoHere is the confirmation of such a mechanism (they simply rate limit certain repos): "All of these factors combine to make CocoaPods/Specs one of the top five most resource-costly repositories that we host on all of GitHub.com. And that is why it is rate-limited; otherwise it would consume even more resources and cause service interruptions for other GitHub users. The symptoms of the rate limiting for you and your users are that your repository accesses (clones, fetches, pushes) have to wait in a queue on our end, sometimes for a long time, before being processed. This causes fetches/clones to take much longer than they would otherwise, and might cause timeouts at your end. Moreover, if the load on our servers becomes too overwhelming, a fraction of the accesses might be rejected altogether." From: https://github.com/CocoaPods/CocoaPods/issues/4989#issuecomment-193772935 https://github.com/CocoaPods/CocoaPods/issues/4989#issuecomm...
- jayfk 11y agoNot specifically. If you take a look at statuspage.io [1], status.io [2] or cachet [3] they look more or less the same. [1] https://www.statuspage.io/ https://www.statuspage.io/ [2] https://status.io/ https://status.io/ [3] https://cachethq.io/ https://cachethq.io/
- iqonik 11y agoNice "hack". I'm using statuspage.io for the notification side of things but can see why this is a very decent free alternative.
- jon-wood 11y agoKeep in mind this is at its core just a static site generator, there's nothing stopping you from pushing the generated site to S3, or even just a random server, and hosting it there instead if you don't like Github's uptime.
- jayfk 11y agoAbsolutely. Once the site is generated, you want to push the following files: - index.html - style.css - milligram.min.css and, if you need the logo/favicon - favicon.png - logo.png
- IgorPartola 11y agoThere is one thing. Updates to S3 files are not atomic. That is, if you update a file, you may still get an old version of it for a time. Same with deletes. The only atomic operation it supports is creating a new object.
- cyphar 11y agoI'm not sure you mean atomic, unless you've seen cases where the file you get from S3 is a mix of the old and new version. Did you mean consistent (which is what you describe)?
- jorts 11y agoI think he meant automatic.
- deleted 11y ago[deleted]
- dchest 11y agoIf you update index.html and style.css, GitHub pages will apparently publish them simultaneously (atomically), but with S3 you upload index.html, then style.css — one of them will be "published" later than the other. (Analogy: GitHub pages is like creating a new directory, putting files there, then renaming the directory to the old name; S3 — putting files into the old directory.)
- javery 11y agoBut seriously - statuspage.io is amazing for this and super cheap.
- jakejohnson 11y agoStatusPage.io is nice but they charge $99/mo for custom CSS and $399/mo for custom HTML. I don't see that as being cheap.
- jbrooksuk 11y agoStatusPage.io is far from cheap for most bootstrapped SMB's or services. That's why I built Cachet [1] [1] https://cachethq.io https://cachethq.io
- ThePhysicist 11y agoYou could also poll the Github API direclty on the client side via Javascript/jQuery (without giving the client an access token obviously) to display the status information, like that you could simply update issues on a public Github repo and the information would change accordingly on the site. With proper E-Tag checking, Github won't even count repeated API queries against the rate limit, which means that you could have the client automatically update the information in the frontend every few seconds. With Gitboard I use the Github API in this way to display issues in a Kanban board, which works really nicely: https://adewes.github.io/gitboard https://adewes.github.io/gitboard
- vmorgulis 11y agoVery cool idea! > ... With proper E-Tag checking, Github won't even count repeated API queries against the rate limit ... Does this behavior rely only on the browser side? Did you add something in javascript?
- ThePhysicist 11y agoYou need to pass the ETag header in the Ajax request, though jQuery might do this automatically (have a look at the utils.js in Gitboard: http://github.com/adewes/gitboard http://github.com/adewes/gitboard). As long as you set it and the data is unchanged you can poll for it as often as you want, which us perfect to watch for changes.
- wanda 11y agoI use Github Pages for my status page too. Not something I use for websites/web apps I develop for clients, but for my own irrelevant website, I go as far as to cheat and use the following: <img src="https://des.tination.server/img/1px.gif" onload="statusOk()" onerror="statusDown()" alt=""> <script> function statusOk() { // do something involving green and check marks } function statusDown() { // do something involving red... and crosses } </script> (Obviously you have to prevent caching)
- computer 11y agoPeople usually don't go to a status page to see if a page is reachable from their computer. They know that already. They want to know if it's a global issue, and if the company is aware that it's down, and when it will be back up.
- BorisMelnik 11y agogood point, in our situation people check to see if the mail server is down etc
- andreasklinger 11y agofor more complex usecases you could load an api status json endpoint instead
- alexcroox 11y agoAre there any decent open source status page systems that do the monitoring for you? I'm just looking for a basic ping or JSON response to automatically update the page for me. I'd like for the page to show there's a problem before I manually work it out for myself!
- donnfelker 11y agoPersonally I prefer a service like http://status.io http://status.io - it's one less thing I need to maintain/etc. Not to mention GitHub has had more than its fair share of outages.
- capote 11y agoHost my status page on a site that is down about half the time? Hah
- WillAbides 11y ago0.0899% == half
- capote 11y agoYeah, that's several orders of magnitude closer to half than I expect it to be.
- bliti 11y agoI built a static status page that you can host anywhere. I use it for various systems. Its ugly, but works as required. Uses bootstrap and jquery. so you can go crazy with it. Everything is self contained. No need to maintain it. Does need an endpoint for the status page to ping. YMMV. https://github.com/bliti/status-page https://github.com/bliti/status-page
- stanislavb 11y agoAnd here it is a follow-up post with some shared experience: https://medium.com/@stanbright/how-to-set-up-a-free-status-page-on-github-5fc92f63d0f6#.amipcrr73 https://medium.com/@stanbright/how-to-set-up-a-free-status-p...