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.
- Send SMS to notify. ( i am so lazy to check my email )
- Slack
- Login/Register to management all sites easily.
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
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 |
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
Here is some images so you can guess how it work.
MIT