- 对外 SLA 展示:需要给客户一个可绑定自有域名的状态页,且不想让第三方 SaaS 拿到你的内部服务清单,直接用它建多个状态页
- 内网/家庭实验室巡检:HTTP、TCP、Ping、DNS、Docker 容器混着监控,20 秒级间隔够用,比 Prometheus + Alertmanager 那套省掉一整个指标栈
- 告警落地:90+ 通知渠道意味着不用自己写 webhook 适配层,Telegram/Slack/邮件直接配;换 Grafana 告警则要自己维护 contact point
- 小团队单机部署:一个容器 + 一个本地卷就能跑,不需要时序数据库和额外组件,运维面比 Zabbix 小一个量级
uptime-kuma
louislamMIT活跃维护 有专家点评自托管的网站与服务可用性监控面板,支持 HTTP、TCP、Ping 等多种探活方式,通过实时图表和告警通知掌握服务宕机情况。
A fancy self-hosted monitoring tool
专家点评
上手难度:入门更新于 2026-11-11自托管可用性监控,顶掉 Uptime Robot 这类 SaaS 探针,顺带把状态页和告警通道一起接管
适用场景
踩坑
- 数据目录挂 NFS/SMB 会出问题,README 明说只支持本地目录或卷;在 K8s 里用网络存储做 PVC 的会直接撞上
- 默认
-p 3001:3001对所有网卡开放且无初始鉴权,暴露到公网前必须改成127.0.0.1:3001:3001或前置反代,否则等于把监控面板和内部拓扑送出去 - issue 列表里 API、多用户权限、Postgres 支持这几类被反复提出且反应数很高,说明当前版本在「程序化读写监控项」和「多人分权」上能力有限;如果你要的是被 CI/自动化驱动的监控配置,别指望它当 API 优先的系统用
同类对比
要指标维度和长期存储选 Prometheus + Blackbox Exporter + Grafana;要分布式多探针和成熟告警路由选 Uptime Kuma 之外的 Gatus 或 Zabbix。它分流的是「只关心 up/down 和状态页」的场景。
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2README 未说明显存或 GPU 要求;可运行于主流 Linux 发行版和 Windows 10/64 位及以上,非 Docker 方式需 Node.js >= 20.4。
项目说明
由 README 自动翻译提炼自托管的开源监控工具,替代 Uptime Robot 监控服务可用性并推送告警
自托管的网站与服务可用性监控面板,支持 HTTP、TCP、Ping 等多种探活方式,通过实时图表和告警通知掌握服务宕机情况。
核心能力
- 监控 HTTP、TCP、Ping、DNS、Docker 容器等多种目标
- 支持 Telegram、Slack、邮件等 90+ 通知渠道
- 默认 20 秒检测间隔,提供 Ping 图表与证书信息
- 可创建多个状态页并绑定到指定域名
- 支持代理与 2FA 双因素认证
容易踩的坑
数据目录不支持 NFS 等网络文件系统,需映射到本地目录或卷;非 Docker 安装需 Node.js >= 20.4 并额外安装 pm2 后台运行;默认监听 3001 端口且对所有网络接口开放,需限制暴露时改用 -p 127.0.0.1:3001:3001。
- 2.5.9最新正式版2026-10-31 · 2026-10-31 16:03 UTC
🐞 Bug Fixes
- #8082 fix: runtime timeout fallback used milliseconds for a seconds field
- #8081 fix: reset push monitor retries from the last stored heartbeat
- #8079 fix: remove duplicated refresh timer on status page
- #8064 fix: display recurring maintenance in its configured timezone (Thanks @kuxiaowo)
⬆️ Security Fixes
- GHSA-86ch-2247-gr56 fix: RSS cache poisoning (Thanks @the-arma-of-owl)
- #8080 chore: drop outdated apicache, migrate to http-cache-semantics (related to the above issue)
- #8050 chore: Update dependencies
- 2.5.82026-10-26 · 2026-10-26 17:12 UTC
查看更新说明
🐞 Bug Fixes
- #8049 fix: Docker verification check sometimes not catching invalid responses (2.5.X backport) (Thanks @Abestanis)
- #8038 fix: add
next-slim-rootlessdocker tag - #8028 fix: drop TLS support for the TCP Port monitor (It never worked as expected and very buggy, all existing monitors will become normal TCP monitors)
⬆️ Security Fixes
- GHSA-v2p3-6f5h-6hhf [Admin Only] Authenticated RCE via Apprise CLI Argument Injection (Thanks @Sami111-Afk)
Others
- #8037 revert: hide/show password toggle in login page (#7672) (Because the height is inconsistent)
- 2.5.72026-10-23 · 2026-10-23 05:16 UTC
查看更新说明
🐞 Bug Fixes
- #7989 fix: retries ignored by TCP Port monitor with SSL/STARTTLS
⬆️ Security Fixes
- [Docker] Images bumped to Node.js 22.23.4, now it rejects the leaked eMudhra 384 bit CA:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:04. (Thanks @veteranbv)
- 2.5.62026-10-09 · 2026-10-09 15:46 UTC
查看更新说明
🐞 Bug Fixes
- #7886 fix: use UptimeCalculator for avg-response badge endpoint
⬆️ Security Fixes
- #7858 chore: Update dependencies
- 2.5.52026-09-16 · 2026-09-16 13:31 UTC
查看更新说明
🐞 Bug Fixes
- #7848 fix: Memory leak from tcp monitor
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Uptime Kuma
Uptime Kuma is an easy-to-use self-hosted monitoring tool.
🥔 Live Demo
Try it!
Demo Server (Location: Frankfurt - Germany): https://demo.kuma.pet/start-demo
It is a temporary live demo, all data will be deleted after 10 minutes. Sponsored by Uptime Kuma Sponsors.
⭐ Features
- Monitoring uptime for HTTP(s) / TCP / HTTP(s) Keyword / HTTP(s) Json Query / Websocket / Ping / DNS Record / Push / Steam Game Server / Docker Containers
- Fancy, Reactive, Fast UI/UX
- Notifications via Telegram, Discord, Gotify, Slack, Pushover, Email (SMTP), and 90+ notification services, click here for the full list
- 20-second intervals
- Multi Languages
- Multiple status pages
- Map status pages to specific domains
- Ping chart
- Certificate info
- Proxy support
- 2FA support
🔧 How to Install
🐳 Docker Compose
mkdir uptime-kuma
cd uptime-kuma
curl -o compose.yaml https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml
docker compose up -d
Uptime Kuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001).
[!WARNING] File Systems like NFS (Network File System) are NOT supported. Please map to a local directory or volume.
🐳 Docker Command
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2
Uptime Kuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001).
If you want to limit exposure to localhost only:
docker run ... -p 127.0.0.1:3001:3001 ...
💪🏻 Non-Docker
Requirements:
- Platform
- ✅ Major Linux distros such as Debian, Ubuntu, Fedora and ArchLinux etc.
- ✅ Windows 10 (x64), Windows Server 2012 R2 (x64) or higher
- ❌ FreeBSD / OpenBSD / NetBSD
- ❌ Replit / Heroku
- Node.js >= 20.4
- Git
- pm2 - For running Uptime Kuma in the background
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 the background using PM2
# Install PM2 if you don't have it:
npm install pm2 -g && pm2 install pm2-logrotate
# Start Server
pm2 start server/server.js --name uptime-kuma
Uptime Kuma is now running on all network interfaces (e.g. http://localhost:3001 or http://your-ip:3001).
More useful PM2 Commands
# If you want to see the current console output
pm2 monit
# If you want to add it to startup
pm2 startup && pm2 save
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 assign requests/issues to the next milestone.
https://github.com/louislam/uptime-kuma/milestones
❤️ Sponsors
Thank you so much for supporting this project!
Special Sponsors
Atlas Cloud (https://www.atlascloud.ai) is sponsoring this project USD 400 per month for using their AI models.
Open Collective and GitHub Sponsors
(The list will be cached by GitHub, it may take up 24 hours to be updated)
🖼 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 closest ones is statping. Unfortunately, it is not stable and no longer maintained.
- Wanted 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 a REST API.
- Deploy my first Docker image to Docker Hub.
If you love this project, please consider giving it a ⭐.
🗣️ Discussion / Ask for Help
⚠️ For any general or technical questions, please don't send me an email, as I am unable to provide support in that manner. I will not respond if you ask questions there.
I recommend using Google, GitHub Issues, or Uptime Kuma's subreddit for finding answers to your question. If you cannot find the information you need, feel free to ask:
My Reddit account: u/louislamlam You can mention me if you ask a question on the subreddit.
Contributions
Create Pull Requests
Pull requests are awesome. To keep reviews fast and effective, please make sure you’ve read our pull request guidelines.
Test Pull Requests
There are a lot of pull requests right now, but I don't have time to test them all.
If you want to help, you can check this: https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests
Test Beta Version
Check out the latest beta release here: https://github.com/louislam/uptime-kuma/releases
Bug Reports / Feature Requests
If you want to report a bug or request a new feature, feel free to open a new issue.
Translations
If you want to translate Uptime Kuma into your language, please visit Weblate Readme.
Spelling & Grammar
Feel free to correct the grammar in the documentation or code. My mother language is not English and my grammar is not that great.