跳到主要内容

2026 · 10 · 31

Uptime Kuma 部署:用 Docker 自建网站监控

Uptime Kuma 部署并不复杂,一条 Docker 命令就能跑起来。它是一个开源的网站监控工具,支持 HTTP、TCP、Ping 等检查方式,能配置邮件、Webhook 等通知。

网站或接口挂了,往往是客户先发现。靠定时手动打开页面检查不现实,用第三方监控服务又要评估数据存放位置和长期费用。自建的好处是数据在自己服务器上,监控频率和保留时间也可以自己定。

本文整理 Uptime Kuma 2.5.9 的版本信息、镜像校验方法、Docker 部署步骤,以及添加监控和通知的实操。

一、Uptime Kuma 部署与版本信息

Uptime Kuma 以 Docker 镜像分发,没有 Windows 安装包。当前版本信息如下:

项目 信息
版本 Uptime Kuma 2.5.9(2026-10-31)
文件名 无安装包,使用 Docker 镜像 louislam/uptime-kuma:2
文件大小 无安装包,镜像拉取体积以实际为准
SHA-256 无安装包,镜像完整性以 digest 为准
许可 MIT
官网 https://github.com/louislam/uptime-kuma

项目地址:https://github.com/louislam/uptime-kuma。部署前先准备好一台能运行 Docker 的服务器,国内服务器记得完成备案,直接用 3001 端口对外也可以,但更建议配反向代理和 HTTPS。

二、Uptime Kuma 部署包怎么校验

因为没有安装包,校验对象是镜像而不是 exe。镜像拉取完成后,可以查看 digest 与发布页或团队记录比对:

docker image inspect louislam/uptime-kuma:2 --format='{{index .RepoDigests 0}}'

如果你同时下载了 Docker Desktop 的安装包,也可以用常规方法校验安装文件,避免装到被改过的客户端:

方法一:PowerShell

Get-FileHash .DockerDesktopInstaller.exe -Algorithm SHA256

把输出 Hash 与 Docker 官方页面给出的值比对,不区分大小写。

方法二:certutil

certutil -hashfile DockerDesktopInstaller.exe SHA256

输出中的哈希去掉空格后与官方值逐位对照。镜像本身没有「SHA-256」可核对,digest 才是对应的完整性标识。

三、用 Docker 部署 Uptime Kuma

  1. 在服务器上安装 Docker,确认 docker --version 能正常输出。
  2. 执行启动命令(首次会自动拉取镜像):docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2
  3. 用 docker ps 确认容器状态为 Up,端口映射为 3001。
  4. 浏览器访问 http://服务器IP:3001,按提示设置管理员账号和密码。
  5. 登录后点「添加监控」,类型选 HTTP(s),填入要监控的地址。
  6. 在「通知」里配置邮件或 Webhook,保存后点监控项右侧的测试按钮,确认能收到消息。

命令里的三个参数值得说明:-v uptime-kuma:/app/data 把数据存在 Docker 卷里,删容器不会丢监控配置;--restart=always 让服务器重启后自动拉起;-p 3001:3001 是端口映射,改左边端口即可换对外端口。

如果服务器有防火墙,记得放行 3001 或反向代理端口;容器启动失败时用 docker logs uptime-kuma 看具体报错,常见原因是端口占用或目录权限。

四、监控示例:给本站加一条 HTTP 检查

以本站为例,可以添加一条指向 https://www.lyzykj.cn/healthz 的 HTTP 监控,间隔 60 秒、重试 2 次、超时 10 秒,状态码 200 视为正常。这样页面打不开或返回异常时,会按通知规则提醒。

除了首页,建议再监控登录接口或核心业务页;只监控首页容易漏掉「首页正常、下单接口挂了」的情况。多个监控项可以分组,按业务线分别设置通知人。

五、几个实用技巧

  • 先用维护窗口:计划内重启或发布前,先开维护窗口,避免半夜收到误报。
  • 状态页:内置状态页可以对外展示服务状态,适合给客户看的服务说明。
  • 备份数据卷:定期备份 /app/data 或 uptime-kuma 卷,换服务器时能直接恢复。
  • 反向代理:用 Nginx 或 Caddy 配 HTTPS 和域名,不要把 3001 端口长期裸奔在公网。
  • 告警收敛:通知里设置重试与静默时间,避免网络抖动导致短时间大量重复消息。

六、安全提醒与常见问题

3001 端口能直接对外开放吗?

不建议。至少加一层反向代理和 HTTPS,开启登录验证,并在防火墙限制来源;如果只给自己看,可以用 VPN 或内网访问。

数据怎么备份和迁移?

监控配置和登录数据都在数据卷里。用 docker run --rm -v uptime-kuma:/data -v $(pwd):/backup alpine tar czf /backup/uptime-kuma.tar.gz -C /data . 打包,换机器后解压到同名卷再启动容器。

监控误报、内网监控怎么办?

先看目标服务是不是真的抖动,再调整超时与重试次数;对计划内变更使用维护窗口。频繁误报会让人忽略告警,比没有监控更糟。

内网地址也可以监控,只要监控容器能访问目标地址;跨网络时注意路由和 DNS,必要时在容器里加 hosts 或使用内网域名。

需要定制工具或内部软件?

Uptime Kuma 解决的是可用性监控。如果你需要把监控、告警、值班和工单串起来,或者要一个给内部用的运维看板,可以聊。需要定制工具或内部软件,可以联系我们,也可以看软件定制;服务器部署与运维可参考网站搭建,更多工具文章在资讯。

发表评论