A fancy self-hosted monitoring tool
Find a file
2021-12-04 09:59:10 +01:00
.github Update PULL_REQUEST_TEMPLATE.md 2021-12-02 11:19:59 +01:00
config Test: fix tests 2021-11-17 10:45:24 +08:00
data init 2021-06-25 21:55:49 +08:00
db Minor refactor - change variable names and add commas to object definitions 2021-11-04 10:14:17 +01:00
docker vite build on host machine, since it is very slow on armv7/arm64 build 2021-10-31 13:07:10 +08:00
extra add remove-2fa command 2021-11-18 18:22:03 +08:00
public Simple "Add to Homescreen" manifest (PWA) (#411) 2021-09-16 14:42:56 +08:00
server Merge branch 'master' into logging 2021-11-29 20:32:42 +01:00
src Merge branch 'louislam:master' into logging 2021-12-04 09:59:10 +01:00
test temporary disable test for settings page 2021-11-29 17:25:30 +08:00
.dockerignore vite build on host machine, since it is very slow on armv7/arm64 build 2021-10-31 13:07:10 +08:00
.editorconfig Confirm Dialog: allow changing the button text 2021-07-31 18:58:12 +08:00
.eslintrc.js setup jest-puppeteer 2021-10-03 18:16:55 +08:00
.gitignore ignore .env 2021-10-07 14:34:30 +08:00
.stylelintrc manual fix stylelint 2021-08-25 12:25:19 +08:00
babel.config.js move jest config files to config dir 2021-10-13 02:53:59 +08:00
CNAME Create CNAME 2021-08-29 19:15:40 +08:00
CODE_OF_CONDUCT.md update email 2021-10-18 23:55:00 +08:00
CONTRIBUTING.md Update CONTRIBUTING.md 2021-12-02 11:15:14 +01:00
ecosystem.config.js Create PM2 Config file 2021-10-11 15:22:52 +03:00
index.html fix manifest.json path 2021-10-31 13:17:34 +08:00
install.sh fix install script 2021-09-01 14:56:19 +08:00
LICENSE Create LICENSE 2021-07-11 16:02:45 +08:00
package-lock.json fix node-sqlite3 security issues 2021-11-24 14:53:15 +08:00
package.json HU language typo and missing items (#996) 2021-12-03 15:47:35 +08:00
README.md Updated monitor service details in README.md (#990) 2021-12-03 15:49:46 +08:00
SECURITY.md Update SECURITY.md 2021-11-02 13:25:34 +08:00
tsconfig.json set newLine to LF for ts compiler 2021-10-13 22:31:36 +08:00

Uptime Kuma

GitHub Sponsors

It is a self-hosted monitoring tool like "Uptime Robot".

🥔 Live Demo

Try it!

https://demo.uptime.kuma.pet

It is a temporary live demo, all data will be deleted after 10 minutes. The server is located in Tokyo, so if you live far from there, it may affect your experience. I suggest that you should install and try it out for the best demo experience.

VPS is sponsored by Uptime Kuma sponsors on Open Collective! Thank you so much!

Features

  • Monitoring uptime for HTTP(s) / TCP / HTTP(s) Keyword / Ping / DNS Record / Push / Steam Game Server.
  • Fancy, Reactive, Fast UI/UX.
  • Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and 70+ notification services, click here for the full list.
  • 20 second intervals.
  • Multi Languages
  • Simple Status Page
  • Ping Chart
  • Certificate Info

🔧 How to Install

🐳 Docker

docker volume create uptime-kuma
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1

Browse to http://localhost:3001 after starting.

💪🏻 Non-Docker

Required Tools: Node.js >= 14, git and pm2.

# Update your npm to the latest version
npm install npm -g

git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup

# Option 1. Try it
node server/server.js

# (Recommended) Option 2. Run in background using PM2
# Install PM2 if you don't have it: npm install pm2 -g
pm2 start server/server.js --name uptime-kuma

Browse to http://localhost:3001 after starting.

Advanced Installation

If you need more options or need to browse via a reverse proxy, please read:

https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install

🆙 How to Update

Please read:

https://github.com/louislam/uptime-kuma/wiki/%F0%9F%86%99-How-to-Update

🆕 What's Next?

I will mark requests/issues to the next milestone.

https://github.com/louislam/uptime-kuma/milestones

Project Plan:

https://github.com/louislam/uptime-kuma/projects/1

🖼 More Screenshots

Light Mode:

Status Page:

Settings Page:

Telegram Notification Sample:

Motivation

  • 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 ones is statping. Unfortunately, it is not stable and unmaintained.
  • Want to build a fancy UI.
  • Learn Vue 3 and vite.js.
  • Show the power of Bootstrap 5.
  • 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 .

🗣️ Discussion

Issues Page

You can discuss or ask for help in issues.

Subreddit

My Reddit account: louislamlam You can mention me if you ask a question on Reddit. https://www.reddit.com/r/UptimeKuma/

Contribute

If you want to report a bug or request a new feature. Free feel to open a new issue.

If you want to translate Uptime Kuma into your language, please read: https://github.com/louislam/uptime-kuma/tree/master/src/languages

If you want to modify Uptime Kuma, this guideline may be useful for you: https://github.com/louislam/uptime-kuma/blob/master/CONTRIBUTING.md

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.