uptime-kuma/README.md

136 lines
4.2 KiB
Markdown
Raw Normal View History

2021-07-01 09:00:23 +00:00
# Uptime Kuma
2021-07-13 17:39:04 +00:00
<a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/stars/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/pulls/louislam/uptime-kuma" /></a> <a target="_blank" href="https://hub.docker.com/r/louislam/uptime-kuma"><img src="https://img.shields.io/docker/v/louislam/uptime-kuma/latest?label=docker%20image%20ver." /></a> <a target="_blank" href="https://github.com/louislam/uptime-kuma"><img src="https://img.shields.io/github/last-commit/louislam/uptime-kuma" /></a>
2021-07-13 17:36:25 +00:00
2021-07-11 08:08:47 +00:00
<div align="center" width="100%">
<img src="./public/icon.svg" width="128" alt="" />
</div>
2021-07-11 06:20:31 +00:00
It is a self-hosted monitoring tool like "Uptime Robot".
2021-07-11 10:32:04 +00:00
<img src="https://louislam.net/uptimekuma/1.jpg" width="512" alt="" />
2021-07-01 09:00:23 +00:00
# Features
* Monitoring uptime for HTTP(s) / TCP / Ping.
* Fancy, Reactive, Fast UI/UX.
2021-07-30 07:04:52 +00:00
* Notifications via Webhook, Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP) and more by Apprise.
2021-07-01 09:00:23 +00:00
* 20 seconds interval.
# How to Use
2021-07-31 16:15:33 +00:00
## Docker
2021-07-14 09:10:51 +00:00
2021-07-11 10:32:04 +00:00
```bash
2021-07-12 12:08:51 +00:00
# Create a volume
docker volume create uptime-kuma
# Start the container
2021-07-19 12:18:27 +00:00
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1
2021-07-11 08:02:06 +00:00
```
2021-07-01 09:00:23 +00:00
2021-07-11 15:41:21 +00:00
Browse to http://localhost:3001 after started.
2021-07-11 15:41:04 +00:00
Change Port and Volume
```bash
2021-07-19 12:18:27 +00:00
docker run -d --restart=always -p <YOUR_PORT>:3001 -v <YOUR_DIR OR VOLUME>:/app/data --name uptime-kuma louislam/uptime-kuma:1
2021-07-11 15:41:04 +00:00
```
2021-07-31 16:15:33 +00:00
## Without Docker
2021-07-11 10:34:29 +00:00
2021-07-30 07:04:52 +00:00
Required Tools: Node.js >= 14, git and pm2.
2021-07-11 10:34:29 +00:00
2021-07-11 10:32:04 +00:00
```bash
2021-07-11 10:44:47 +00:00
git clone https://github.com/louislam/uptime-kuma.git
2021-07-11 08:02:06 +00:00
cd uptime-kuma
2021-07-11 10:51:53 +00:00
npm run setup
2021-07-11 08:02:06 +00:00
2021-07-11 10:32:04 +00:00
# Option 1. Try it
2021-07-11 08:02:06 +00:00
npm run start-server
2021-07-12 03:42:36 +00:00
# (Recommended)
2021-07-11 10:32:04 +00:00
# Option 2. Run in background using PM2
2021-07-11 08:02:06 +00:00
# Install PM2 if you don't have: npm install pm2 -g
2021-07-11 11:08:36 +00:00
pm2 start npm --name uptime-kuma -- run start-server
2021-07-11 08:02:06 +00:00
2021-07-12 10:59:48 +00:00
# Listen to different port or hostname
pm2 start npm --name uptime-kuma -- run start-server -- --port=80 --hostname=0.0.0.0
2021-07-11 08:02:06 +00:00
```
Browse to http://localhost:3001 after started.
2021-07-31 16:15:33 +00:00
## One more step for Reverse Proxy
Unlikely other web apps, Uptime Kuma is based on WebSocket. You need two more header "Upgrade" and "Connection" in order to reverse proxy WebSocket.
Please read wiki for more info:
https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy
## One-click Deploy
2021-07-11 08:02:06 +00:00
2021-07-30 07:04:52 +00:00
<!---
Abort. Heroku instance killed the server.js if idle, stupid.
[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/louislam/uptime-kuma/tree/1.0.8)
-->
2021-07-01 09:00:23 +00:00
2021-07-30 07:04:52 +00:00
[![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/louislam/uptime-kuma/tree/master&refcode=e2c7eb658434)
2021-07-11 10:32:04 +00:00
2021-07-12 10:59:48 +00:00
# How to Update
### Docker
Re-pull the latest docker image and create another container with the same volume.
2021-07-13 17:48:55 +00:00
PS: For every new release, it takes some time to build the docker image, please be patient if it is not available yet.
2021-07-12 10:59:48 +00:00
### Without Docker
```bash
git fetch --all
2021-07-27 05:47:15 +00:00
git checkout 1.0.7 --force
2021-07-12 10:59:48 +00:00
npm install
npm run build
pm2 restart uptime-kuma
```
2021-07-20 12:27:34 +00:00
# What's Next?
2021-07-20 12:27:15 +00:00
2021-07-30 07:04:52 +00:00
I will mark requests/issues to the next milestone.
2021-07-20 12:27:15 +00:00
https://github.com/louislam/uptime-kuma/milestones
2021-07-11 10:32:04 +00:00
# More Screenshots
2021-07-11 12:12:37 +00:00
Settings Page:
2021-07-11 10:32:04 +00:00
<img src="https://louislam.net/uptimekuma/2.jpg" width="400" alt="" />
2021-07-11 12:12:37 +00:00
Telegram Notification Sample:
<img src="https://louislam.net/uptimekuma/3.jpg" width="400" alt="" />
2021-07-11 10:32:04 +00:00
2021-07-01 09:00:23 +00:00
# Motivation
2021-07-30 07:04:52 +00:00
* I was looking for a self-hosted monitoring tool like "Uptime Robot", but it is hard to find a suitable one. One of the close one is statping. Unfortunately, it is not stable and unmaintained.
2021-07-01 09:00:23 +00:00
* Want to build a fancy UI.
* Learn Vue 3 and vite.js.
2021-07-30 07:04:52 +00:00
* Show the power of Bootstrap 5.
2021-07-01 09:00:23 +00:00
* Try to use WebSocket with SPA instead of REST API.
* Deploy my first Docker image to Docker Hub.
If you love this project, please consider giving me a ⭐.
2021-07-18 16:34:48 +00:00
# Contribute
2021-07-20 05:04:21 +00:00
If you want to report a bug or request a new feature. Free feel to open a new issue.
2021-07-18 16:34:48 +00:00
If you want to modify Uptime Kuma, this guideline maybe useful for you: https://github.com/louislam/uptime-kuma/wiki/%5BDev%5D-Setup-Development-Environment
2021-07-18 16:40:10 +00:00
English proofreading is needed too, because my grammar is not that great sadly. Feel free to correct my grammar in this Readme, source code or wiki.