uptime-kuma
已验证可运行Uptime Kuma 是一款开源自托管的网站与服务监控工具,支持 HTTP/TCP/Ping/DNS/Docker 等多种监控类型,故障时通过 Telegram、Discord、邮件等 90 多种渠道告警,并可对外发布状态页。
91k15 天前更新版本 2.5.3
项目介绍
Uptime Kuma 是一个可自行部署的开源监控工具,定位类似 Uptime Robot,但数据和服务完全掌握在自己手里。它可以定时检测网站、API、TCP 端口、Ping、DNS 记录、WebSocket、Docker 容器等目标的可用性,一旦发现宕机或恢复,立即通过通知渠道推送告警。
项目采用 Vue 3 + Vite 构建单页前端,后端基于 Node.js,前后端通过 Socket.IO(WebSocket)实时通信,因此监控状态和图表更新非常流畅,界面美观且响应式,移动端也能正常使用。除了告警,它还内置了可公开访问的状态页功能,支持绑定独立域名,方便团队对外展示服务可用性。
从成熟度看,项目在 GitHub 上约有 9 万以上 star、8 千多 fork,社区活跃、提交频繁(最近一次推送在 2026-08-31),并持续发布版本(最新 release 为 2.5.3)。需要说明的是,star 数和活跃度反映其受欢迎程度,不构成对具体部署效果的保证。
项目信息根据开源项目公开资料整理。
核心功能
- 支持 HTTP(s)、TCP、HTTP(s) 关键字、HTTP(s) JSON 查询、WebSocket、Ping、DNS、Push、Steam 游戏服务器、Docker 容器等多种监控类型
- 故障与恢复告警,内置 Telegram、Discord、Slack、Gotify、Pushover、邮件(SMTP)等 90 多种通知渠道
- 最短 20 秒的检测间隔,可按监控项灵活配置
- 可视化状态页,支持创建多个状态页并绑定到独立域名
- 提供 Ping 延迟图表和 SSL/TLS 证书到期信息展示
- 界面美观、响应式,基于 Vue 3 + Vite,WebSocket 实时更新
- 支持多语言、支持 HTTP/SOCKS 代理、支持双因素认证(2FA)
- 官方提供 Docker 镜像与 docker compose 配置,部署简单
适用场景
- 个人站长或开发者监控自己的网站、博客、API 是否在线
- 中小团队运维内部服务、数据库、后台接口的可用性与响应
- 希望替代 Uptime Robot 等 SaaS 监控、把数据自托管的用户
- 需要对外发布服务状态页、向客户透明展示可用性的团队
- 监控 TCP 端口、Ping、DNS 解析、Docker 容器等基础设施健康状况
- 需要把宕机告警集中推送到 Telegram/Discord/企业 IM 的场景
部署说明
推荐使用 Docker 部署,启动后访问 http://服务器IP:3001 进入初始化设置。 方式一: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方式二:单条 Docker 命令
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2方式三:非 Docker(需 Node.js >= 20.4、Git、pm2)
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
pm2 start server/server.js --name uptime-kuma注意事项:数据卷不支持 NFS 等网络文件系统,需映射到本地目录或 Docker volume;若仅本机访问,可将端口绑定为 127.0.0.1:3001 并配合反向代理使用。非 Docker 方式支持主流 Linux 发行版(Debian/Ubuntu/Fedora/Arch 等)与 Windows 10 x64、Windows Server 2012 R2 及以上,不支持 FreeBSD/OpenBSD/NetBSD 及 Replit/Heroku。
运行环境
开发语言JavaScript