So I wrote a small project over the course of a few days.

What started out as a small internal thing has turned out to be something more complex but in the end very satisfying.

Initially it started as something simple that I used on daily basis at work. I wanted a way to monitor the local server that I have just 6 feet away from me. It's a crappy old machine that doesn't do much, other then store some files.

Because I have the luxury of having an external monitor attached to my laptop, I could just glance over the it and see if everything is working properly. The idea behind it came after I saw that popular Linux Dash project on Github.

Enter uptimey, a beautiful server monitor!

Screenshot

I wanted something that looks good (the ones that I found didn't impress me at all), is fast and updates automatically without having to hit a button or anything else.

Now let me tell you a little about the features that uptimey has:

  • Easy install. Just clone the repo and your done. Works out of the box.
  • Updates automatically. It auto-refreshes the values each 60 secs.
  • It's beautifully designed. It grabs the Bing image of the day automatically and uses a clean readable font with a simple UI wrapped around it.
  • Works everywhere. Or at least is should (if you find a place where it doesn't work, please by all means open up an issue on Github).It has been tested on Linux, Windows and Mac servers.
  • Share it everywhere. If you're proud of your uptime you can share it o Twitter.
  • Bonus feature. If it just hangs you can hard refresh using the provided button.

I should mention that for this to work you need some stuff on your server:

  1. An internet connection.
  2. PHP installed.
  3. Some type of server, like Apache or nginx installed.

For developers

For starters it's open source. You can find it on Github and contribute to it.
In the repo you'll find some stuff to help you develop it, like a Vagrant file and gruntjs file. If you don't know what Vagrant or Grunt are, google them.

The Future

I have some upcoming features that I want to implement as soon as possible. For example:

  • Showing the server load.
  • Make it responsive.

If you feel like contributing, please by all means fork it.

I hope you enjoyed this brief presentation of a small project that I built. If you have any feedback or issues / questions please leave them in the comments bellow or drop a note here.

Until next time, code long and prosper!

Stefan