uptime-kuma

louislamMIT活跃维护 有专家点评

自托管的网站与服务可用性监控面板,支持 HTTP、TCP、Ping 等多种探活方式,通过实时图表和告警通知掌握服务宕机情况。

A fancy self-hosted monitoring tool

2.5.9发布于 2026-10-31 16:03 UTC93,467star +132 / 7 天8,693fork同步于 2026-11-10 23:19 UTC

专家点评

上手难度:入门更新于 2026-11-11

自托管可用性监控,顶掉 Uptime Robot 这类 SaaS 探针,顺带把状态页和告警通道一起接管

适用场景

  • 对外 SLA 展示:需要给客户一个可绑定自有域名的状态页,且不想让第三方 SaaS 拿到你的内部服务清单,直接用它建多个状态页
  • 内网/家庭实验室巡检:HTTP、TCP、Ping、DNS、Docker 容器混着监控,20 秒级间隔够用,比 Prometheus + Alertmanager 那套省掉一整个指标栈
  • 告警落地:90+ 通知渠道意味着不用自己写 webhook 适配层,Telegram/Slack/邮件直接配;换 Grafana 告警则要自己维护 contact point
  • 小团队单机部署:一个容器 + 一个本地卷就能跑,不需要时序数据库和额外组件,运维面比 Zabbix 小一个量级

踩坑

  • 数据目录挂 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 和状态页」的场景。

怎么上手

由 README 提炼,执行前请确认
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2
硬件要求按 README 说明

README 未说明显存或 GPU 要求;可运行于主流 Linux 发行版和 Windows 10/64 位及以上,非 Docker 方式需 Node.js >= 20.4。

支持 Apple Silicon有 Docker 镜像
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 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。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本2.5.9
  1. 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. 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-rootless docker 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)
  3. 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)
  4. 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
  5. 2.5.52026-09-16 · 2026-09-16 13:31 UTC
    查看更新说明

    🐞 Bug Fixes

    • #7848 fix: Memory leak from tcp monitor

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    Uptime Kuma

    Uptime Kuma is an easy-to-use self-hosted monitoring tool.

    GitHub Sponsors

    🥔 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.

    Powered by Atlas Cloud

    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.