Skip to content
uptime will watch your websites while you sleep
JavaScript HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
views
.dockerignore
.env-sample
.gitignore
.jshintrc
Dockerfile
index.js
package.json
readme.md

readme.md

uptime

uptime

uptime will watch your websites while you sleep. Writen in nodejs, backed by leveldb and can easy deploy using docker.

It will send you only one email to notify when your site went down. Only one.

Pull requests are always welcome.

Some ideas for pull request:

  • Send SMS to notify. ( i am so lazy to check my email )
  • Slack
  • Login/Register to management all sites easily.

Installation

uptime only requires nodejs.

$ git clone git://github.com/quocnguyen/uptime.git
$ cd uptime
$ cp .env-sample .env
$ npm install

Start the application with

npm start

Config

you can config your app using the environment variables in .env file.

KEY MEAN DEFAULT
PORT the port uptime will listen on 3001
DB folder where uptime store database ./db
VIRTUAL_HOST your domain localhost:3001
USER_AGENT user agent use when sending request
SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD for sending email
INTERVAL delay between each check 5 minutes

Quick Start: Running uptime in a Docker Container

To quickly tryout uptime on your machine with Docker, I have a Docker image that includes everything you need to get started. Simply run:

sudo docker run \
  --env-file=.env-sample \
  --volume=`pwd`/db:/usr/src/app/db:rw \
  --publish=3001:3001 \
  --detach=true \
  --name=uptime \
  quocnguyen/uptime:latest

The --volume /my/own/datadir:/usr/src/app/db part of the command mounts the /my/own/datadir directory from the underlying host system as /usr/src/app/db inside the container, where uptime by default will write its data files.

Note that users on host systems with SELinux enabled may see issues with this. The current workaround is to assign the relevant SELinux policy type to the new data directory so that the container will be allowed to access it:

$ chcon -Rt svirt_sandbox_file_t /my/own/datadir

More Image

Here is some images so you can guess how it work.

Debug

uptime debug

Performance chart

uptime performance chart

License

MIT

You can’t perform that action at this time.