Uptime Kuma:易用的自托管监控工具
Uptime Kuma 是一款易用的自托管监控工具,支持 HTTP(s)、TCP、关键词、JSON 查询、Websocket、Ping、DNS、Push、Steam 游戏服务器与 Docker 容器等监控类型,提供精致的响应式界面、90 多种通知服务、多语言、多状态页、证书信息、代理与 2FA 等能力,可通过 Docker Compose、Docker 命令或非 Docker(Node.js + PM2)方式部署在自有服务器上。
社区作者 · zZz
它解决什么问题
Uptime Kuma 是一个用来自托管运行的监控工具,官方定位为“a fancy self-hosted monitoring tool(精致的自托管监控工具)”。项目提供在线演示:https://demo.kuma.pet/start-demo (演示服务器位于德国法兰克福,为临时演示,所有数据在 10 分钟后会被删除)。
【核心功能】
- 监控类型:HTTP(s)、TCP、HTTP(s) Keyword(关键词)、HTTP(s) Json Query(JSON 查询)、Websocket、Ping、DNS Record、Push、Steam Game Server、Docker Containers。
- 界面:精致、响应式、快速的 UI/UX。
- 通知:支持 Telegram、Discord、Gotify、Slack、Pushover、Email(SMTP)等 90 多种通知服务(完整列表见项目 README 中的链接)。
- 检测间隔:20 秒。
- 多语言支持。
- 支持多个状态页(Multiple status pages),并可将状态页映射到指定域名。
- Ping 图表、证书信息、代理支持、2FA 支持。
【界面与配图】 配图 1 为项目 Logo(Uptime Kuma Logo)。配图 2 为 Uptime Kuma 仪表盘(Dashboard)截图。配图 3 为项目赞助者(Sponsors)展示。配图 4 为浅色模式下的仪表盘效果。配图 5 为状态页(Status Page)截图。配图 6 为设置页(Settings Page)截图。配图 7 为 Telegram 通知示例截图。
【适用场景】 适合个人、家庭实验室、小型团队或企业自建站点/服务可用性监控与告警,替代 Uptime Robot 之类的托管监控服务;也适合需要状态页对外公示服务健康状况的场景。
【项目动机(作者自述)】 作者表示:想找一个类似 Uptime Robot 的自托管监控工具但难以找到合适的,较接近的 statping 不稳定且已不再维护;希望做出精致的 UI;借此学习 Vue 3 与 vite.js、展示 Bootstrap 5 的能力;尝试在 SPA 中用 WebSocket 替代 REST API;并把第一个 Docker 镜像发布到 Docker Hub。
【更新与进阶安装】 官方更新说明见 wiki:https://github.com/louislam/uptime-kuma/wiki/%F0%9F%86%99-How-to-Update 。进阶安装(含通过反向代理访问等更多选项)见 wiki:https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install 。
【求助与贡献】 作者明确表示不通过邮件提供一般性或技术问题支持,建议使用搜索引擎、GitHub Issues 或 Uptime Kuma 的 subreddit(r/UptimeKuma)寻求答案,作者的 Reddit 账号为 u/louislamlam。项目欢迎 Pull Request(需先阅读 pull request guidelines),并提供了测试 Pull Requests 的 wiki 说明与最新 beta 版本发布页 https://github.
com/louislam/uptime-kuma/releases 。翻译可通过 Weblate 参与。
【许可证】来源正文未提及具体开源许可证,填“待核验”。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
一、Docker Compose 安装(推荐) 执行以下命令,顺序不能颠倒:
步骤 1
mkdir uptime-kuma步骤 2
cd uptime-kuma步骤 3
curl -o compose.yaml https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml步骤 4
docker compose up -d安装完成后,Uptime Kuma 会在所有网络接口上运行,例如 http://localhost:3001 或 http://你的IP:3001 。
⚠️ 警告:不支持 NFS(Network File System)等文件系统,请映射到本地目录或卷(volume)。
二、Docker 命令安装
- 运行容器:
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2- 访问:http://localhost:3001 或 http://你的IP:3001 。
- 如果只想暴露给本机 localhost,把端口映射改为:-p 127.0.0.1:3001:3001 ,即:
docker run ... -p 127.0.0.1:3001:3001 ...三、非 Docker 安装 前置要求:
- 平台:✅ 主流 Linux 发行版(Debian、Ubuntu、Fedora、ArchLinux 等);✅ Windows 10 (x64)、Windows Server 2012 R2 (x64) 或更高版本;❌ FreeBSD / OpenBSD / NetBSD;❌ Replit / Heroku。
- Node.js >= 20.4
Git- pm2(用于在后台运行 Uptime Kuma)
步骤:
步骤 1
git clone https://github.com/louislam/uptime-kuma.git步骤 2
cd uptime-kuma步骤 3
npm run setup- 方式一(先试运行):node server/server.js
- 方式二(推荐,使用 PM2 后台运行):
若未安装 PM2:
npm install pm2 -g && pm2 install pm2-logrotate- 启动服务:pm2 start server/server.js --name uptime-kuma
- 启动后 Uptime Kuma 在所有网络接口运行,例如 http://localhost:3001 或 http://你的IP:3001 。
常用 PM2 命令:
- 查看当前控制台输出:pm2 monit
- 加入开机自启:pm2 startup && pm2 save
四、进阶安装与更新
- 进阶安装(更多选项、通过反向代理访问等):https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install
- 更新方法:https://github.com/louislam/uptime-kuma/wiki/%F0%9F%86%99-How-to-Update
五、常见问题
- 数据卷不要放在 NFS 等文件系统上,请映射本地目录或卷,否则会出问题。
- 端口 3001 默认对全网卡开放,如需仅本机访问,请使用 127.0.0.1 端口映射。
- 不要通过邮件向作者求助,一般性/技术问题请用 GitHub Issues 或 subreddit(r/UptimeKuma)。
- 想参与翻译请访问 Weblate Readme;想测试 Pull Request 可参考 wiki:https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests 。
- 想体验测试版可查看 beta 发布页:https://github.com/louislam/uptime-kuma/releases 。
来源教程配图


