npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

apptime

v0.2.10

Published

Uptime monitoring linked to a mailer

Downloads

17

Readme

#apptime

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

image

##Quickstart

$ sudo apt-get install g++ zlib1g zlib1g-dev autoconf # for ejdb
$ npm install apptime
$ pico config.coffee # edit config file
$ PORT=6661 CONFIG=config.coffee 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 your current PWD unless the path starts with a / in which case it is absolute.

##Config

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

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

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

#####email.fields For config of these follow instructions at Nodemailer.

#####email.smtp For config of these follow instructions at Nodemailer.

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

#####handlers 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.

#####handlers.command 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 handlers.jobs (see below).

#####handlers.success 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).

#####handlers.jobs 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/build.coffee