Hi there 👋,
This is a small presentation of one of my recent projects : Downtime, an uptime/response time monitor.
It generates SVG badges that you can use anywhere to display whether your server is up or not :
The real badges are actually transparents, rendering nice on both light/dark mode
It is based on the Keep It Simple Stupid philosophy, so it's super-straightforward :
0: Fork the repository
1: Edit the
config.yml to add your hosts
config.yml is just a list of domain/server/ip/port you want to monitor :
hosts: # Check if google.com is up - name: google.com title: Google # Check if a given url is up - name: github.com/lowlighter/downtime title: Downtime repository # Test an ip/domain with port using ncat (any protocol) - name: "184.108.40.206" title: Google DNS port: 53 use: ncat
2: (optional) You can also enable GitHub pages and get a webpage with all your servers status !
A GitHub action workflow is ran each 5 minutes, testing connections with the hosts you specified in
config.yml. It can either use
curl (for HTTP/HTTPS) or
telnet (any protocol). It records if target is reachable and its response time.
Since it use the default
GITHUB_TOKEN to update connection results, there is no need to create an additional personal token, keeping your account safe.
You can also set the repository private, keeping only the GitHub pages and the badges to embed elsewhere.
This has been inspired a lot by upptime, but I didn't liked the fact you needed a token with a lot of permissions (especially since the workflow update itself so you need to put a lot of trust in maintainers) and that you couldn't get a status badge to tell whether your server is up or not.
Thanks for reading !
If you like generated SVG images, you may also checkout GitHub metrics !