I run an embarrassing number of tiny websites and web-based projects. Almost none of them are funded and none of them have a full-time devops team or even anyone using them regularly.
I used to make use of one of a number of uptime monitoring services, but they've all gone to paid plans, and anyway I thought it would be nicer to have ambient awareness of the status without needing my phone with me.
This is a basic uptime monitor written in Node which lives on a Raspberry-Pi running Arch Linux. It periodically checks a provided list of websites for a provided HTTP status (so you could in theory make it an uptime detector instead - just have it check to make sure everything is 404 ;) ). I happened to have a spare blink(1) so I've also included support for that.
You can configure it to do whatever you like, out of the box it:
- Checks the full list every 10 min, turning the blink(1) PURPLE while it checks
- GREEN is all good, blinking RED indicates one of the sites returned an unexpected response
- Blinking YELLOW means the network is down, so it doubles as a local network check
- Runs a small internal website you can access to see the specific status of each site in the list
- I now have the brightness turned down for the green and purple states, so it is unobtrusive unless something is wrong. (the photos shown are at full brightness)
💜 Is this project interesting or helpful to you? Please share it!
If you're feeling generous I like coffee ☕