node package manager



Server uptime monitoring linked to a mailer. You can run any type of command to check that something is up/down.



$ sudo apt-get install g++ zlib1g zlib1g-dev autoconf # for ejdb
$ npm install apptime
$ pico /tmp/ # edit config file
$ PORT=6661 CONFIG=/tmp/ apptime

You can leave the PORT empty. If you do not provide a CONFIG it will default to the example one in the app directory. The path to CONFIG is relative to the app directory unless the path starts with a / in which case it is absolute.


The .coffee file (think of it as a JSON file on steroids) exports the following:


How often to monitor the servers (in minutes). Each batch will run in a queue with a concurrency of 1.

Shall we actually send an email? You can still use the web interface.


For config of these follow instructions at Nodemailer.


For config of these follow instructions at Nodemailer.


An object with Eco templates for building emails to be sent. Use HTML, plaintext is auto-generated.


Each key is a type of a job to run. Just a way to allow you to run monitor the same server in more ways than one.


A command to execute. All commands are run relative to the scripts directory (of course you can run commands linked to your /bin directory).

An err or stderr on child_process.exec of the command means the server is down.

Command uses Eco syntax and is passed arguments from (see below).


Not required. Can be a string or a RegExp that will be used to check if command was succesfull. This happens after we check whether the command throws err or stderr (see above).

Keys represent names of servers. The values are arguments to be passed to the commands (see above).

Client-side app

Install dev dependencies (component etc.):

$ npm install -d

Install components:

$ (cd src/dashboard/app ; ../../../node_modules/.bin/component install)

Re-build the sources:

$ coffee src/dashboard/