Uptime Kuma 2025最新Docker部署教程,轻量高效监控网站连通性

1919 字
10 分钟
Uptime Kuma 2025最新Docker部署教程,轻量高效监控网站连通性
Uptime Kuma 2025最新Docker部署教程,轻量高效监控网站连通性

一、前言#

作为一名业余时间维护个人网站博主,有时候遇到网站宕机几小时才发现,访客流失不说,搜索引擎收录还可能受影响。之前试过Uptime Robot、Pingdom等工具,最终被开源免费、功能全、颜值高的Uptime Kuma圈粉。今天就把2025年最新的Docker部署方案整理出来,从环境准备到反向代理,新手也能一步到位。

在说部署前,先聊聊它的核心优势——毕竟监控工具那么多,选对才不浪费服务器资源:

  • 开源无限制:对比Uptime Robot免费版仅支持50个监控项,Kuma无任何功能锁,监控100个网站也不收费;
  • 监控类型全:除了HTTP(s)网站,还支持TCP端口、Ping、DNS、数据库(MySQL/Redis)、Docker容器等20+监控场景;
  • 实时预警快:支持SMTP邮件、Telegram、钉钉、企业微信等30+通知方式,宕机10秒内就能收到提醒;
  • 可视化直观:自带响应时间曲线图、状态热力图,故障历史一目了然,不用查日志猜问题;
  • 轻量省资源:Docker容器启动后仅占50MB内存,比同类工具省70%资源,低配服务器也能跑。

放一张我网站的状态页面截图,健康状态、响应时间清晰可见,颜值还不错哦。

image-20251113005153562
image-20251113005153562

二、准备工作#

Kuma的部署门槛极低,只要服务器能跑Docker,基本零障碍。先确认以下3个条件::

  • 已安装 Docker 和 Docker Compose
  • 有公网 IP(或本地服务器用于测试)
  • 开放目标端口(默认 13001,可自定义)

为了方便后续管理配置和数据备份,建议创建独立工作目录(我习惯把工具都放~/opt目录下,统一管理):

Terminal window
cd ~
mkdir -p ~/opt/uptime-kuma
cd ~/opt/uptime-kuma

接下来开放端口,这里分两种场景,根据你的服务器防火墙类型选:

Terminal window
# 场景1:用ufw防火墙(Ubuntu/Debian),开放13001端口
sudo ufw allow 13001/tcp comment 'Uptime Kuma监控服务' && sudo ufw reload
# 场景2:用firewalld防火墙(CentOS/RHEL)
sudo firewall-cmd --add-port=13001/tcp --permanent && sudo firewall-cmd --reload

注意:如果是云服务器(阿里云/腾讯云),还要在控制台的“安全组”里开放13001端口,否则外部无法访问。

三、Docker Compose部署#

Uptime Kuma的Docker配置极其简洁,核心就是“镜像+数据卷+端口映射”。

在~/opt/uptime-kuma目录下新建docker-compose.yml文件,直接复制以下配置:

version: '3.3'
services:
uptime-kuma:
# 推荐用镜像源,拉取速度快(国外服务器可换louislam/uptime-kuma:2)
image: docker2.leitool.top/louislam/uptime-kuma:2
restart: unless-stopped # 异常自动重启,保障服务稳定
volumes:
# 数据持久化:将容器内数据映射到宿主机,删除容器也不丢数据
- ./data:/app/data
ports:
# 主机端口:容器端口(容器内默认3001,主机端口可自定义)
- "13001:3001"

配置完成后,执行启动命令,Docker会自动拉取镜像并创建容器:

Terminal window
# 后台启动服务(-d表示 detached 模式)
docker-compose up -d
# 查看容器运行状态(出现Up说明启动成功)
docker ps
# 若启动失败,查看日志排查问题
docker-compose logs -f

使用 docker ps 命令检查容器是否创建成功。

image-20251112232938100
image-20251112232938100

四、首次配置:监控项添加#

4.1 配置引导#

打开浏览器访问“服务器IP<13001>”,就能进入Uptime Kuma的安装引导页面,全程可视化操作,非常简单。

image-20251112233158904
image-20251112233158904

Uptime Kuma 2.0版本最大的升级就是支持MariaDB数据库,对比旧版本的SQLite,两者区别很明显,根据需求选。

image-20251112233403365
image-20251112233403365

创建管理员账号:数据库配置后,设置用户名和密码(建议密码包含大小写+数字,避免被暴力破解),点击“Create”完成初始化:

image-20251112234919428
image-20251112234919428

自动跳转进入 Uptime Kuma 仪盘表

image-20251112235137679
image-20251112235137679

4.2 监控项配置#

  1. 添加第一个监控项:进入仪表盘后,点击右上角“+ Add Monitor”,重点配置这几个参数: Monitor Type:选“HTTP(s)”(监控网站用这个);
  2. 显示名称:自定义名称(比如“我的个人博客”);
  3. URL:填写网站完整地址(如https://blog.example.com);
  4. Heartbeat Interval:心跳间隔,默认60秒,我建议改成180秒(减少误报,也能降低服务器请求压力);
  5. Max Retries:重试次数,默认3次,保留即可。

image-20251112235339076
image-20251112235339076

4.3 通知方式:宕机报警#

监控的核心是“出问题能及时知道”,Uptime Kuma支持30+通知方式,我推荐使用SMTP邮件(通用):填写邮箱SMTP服务器信息(比如QQ邮箱用smtp.qq.com,端口465),测试成功后,网站宕机就会收到邮件提醒:

image-20251112235750240
image-20251112235750240

五、状态页面#

正常监控时的响应状态可视化:

image-20251113000314827
image-20251113000314827

状态页面可以把所有监控项整理成一个公开页面,方便访客查看网站状态(比如“status.example.com”)。创建步骤:

  1. 点击左侧“Status Pages”→“+ Add Status Page”;
  2. 设置页面名称、URL路径(比如“website”,访问地址就是Istatus.example.com/websit);
  3. 保存后就能通过链接访问状态页面了。

image-20251113000655060
image-20251113000655060

我配置的状态页面长这样,能自定义展示顺序和分组:

image-20251113010812792
image-20251113010812792

六、反向代理#

直接通过IP:端口访问不够美观,且缺乏 HTTPS 安全层。我们可以用 Nginx(或 Caddy、Apache)做反向代理,绑定域名并配置 SSL。

与其他 Web 应用程序不同,Uptime Kuma 基于 WebSocket。您需要另外两个标头**“Upgrade”“Connection”**才能反向代理 WebSocket。

请阅读 wiki 了解更多信息:https://github.com/louislam/uptime-kuma/wiki/Reverse-Proxy

先在域名解析平台(如阿里云、Cloudflare)将域名(如umami.example.com)解析到服务器 IP。

6.1 NPM#

NPM图形化操作,无需写配置文件,适合新手:

  1. 在NPM中添加“Proxy Host”,填写域名(如kuma.example.com);
  2. Scheme选“http”,Forward Hostname/IP填“127.0.0.1”,Forward Port填“13001”;
  3. 勾选“WebSockets Support”(关键!否则监控数据无法实时更新);
  4. 进入“SSL”标签,申请Let’s Encrypt证书,开启强制HTTPS。

6.2 Nginx#

如果是Nginx,根据官网的描述,要添加以下代码:

location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://localhost:3001/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

6.3 群晖NAS#

如果把Kuma部署在群晖NAS上,用系统自带的反向代理即可:

  1. 打开群晖“控制面板”→“登录门户”→“高级”→“反向代理”;

  2. 点击“新增”,填写来源(域名、端口443)和目标(群晖本地IP、端口13001):

    image-20251113004508066
    image-20251113004508066

  3. 切换到“自定义标题”,点击“创建”→选择“Websockets”,自动填充所需头信息:

image-20251113004551420
image-20251113004551420

这样就可以通过域名访问Uptime-kumaf服务了。

七、腾讯云EdgeOne配置#

我把Kuma部署在内网群晖里,没有公网IPv4,所以用腾讯云EdgeOne实现IPv6转IPv4,让纯IPv4环境也能访问,步骤如下:

  1. IPv6域名解析:用DDNS-go工具,将域名(如kuma.example.com)解析到群晖的本地IPv6地址。
  2. EdgeOne配置:在腾讯云EdgeOne控制台,添加站点并选择“开启IPv6访问”,将加速域名指向刚才的IPv6域名;
  3. 验证访问:通过EdgeOne分配的加速域名(如uptime.example.com),纯IPv4网络也能访问内网的Kuma服务了。

image-20251113001344020
image-20251113001344020

#八、小结

作为用了Uptime Robot 免费版2年的老用户,最近用上了Uptime kuma,部署轻量易上手,监控数据实时性和通知可靠性都经得起考验。

如果你有多个网站、服务器或API服务,花10分钟部署Uptime Kuma,就能彻底告别“被动发现故障”的尴尬。

参考#

  1. Uptime Kuma的部署与简单使用-腾讯云开发者社区-腾讯云
  2. Docker系列 Uptime Kuma监测网站连通性 - Bensz
  3. Reverse Proxy · louislam/uptime-kuma Wiki
  4. Home · louislam/uptime-kuma Wiki

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!

打赏
Uptime Kuma 2025最新Docker部署教程,轻量高效监控网站连通性
https://blog.leihub.cn/archives/978/
作者
阿雷
发布于
2025-11-16
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
群晖照片异地备份到 Unraid + Immich 相册搭建详细教程:rsync 同步与踩坑全记录
NAS & 云服务搭建我家里同时有白群晖和 unRAID 两台 NAS ,准备把群晖里攒了几年的照片进行异地备份,单盘 NAS 一旦坏了,照片可就全没了。 我自己折腾了两天,踩了一堆坑,终于跑通了一套「unRAID 定时拉取群晖 + Immich 相册」的方案。
2
西上东下:梵净山雾中徒步记
城市短途漫游朋友嚷嚷了一年的梵净山,最近终于找到了爬山窗口,做足了攻略的我们,直接选择来一波特种兵爬梵净山。 一、周五晚上10点,株洲站出发 我们几个都是从株洲出发的,火车是晚上的卧铺车,10 点出发,第二天凌晨 5:40 到铜仁。一张硬卧 138 块
3
NotionNext 个人博客搭建教程:腾讯云 EdgeOne 部署
博客搭建 & 运维前言 目前主流的博客搭建方案可大致分为两类,且各有局限:一类是以 WordPress 为代表的动态博客系统,依赖独立服务器运行,运维与硬件成本较高;另一类是以 Hexo 为代表的静态博客框架,采用本地 Markdown 编写,无实时预览能力
4
Docker 部署 Chevereto 个人图床,搭配 EdgeOne 实现免费公网访问
Docker 容器折腾前言 之前一直用腾讯云 COS 存博客图片,之前也写过一篇博文来介绍typora+picgo+cos+cdn搭建个人写作环境 - 阿雷的小窝,每月虽然花不了多少钱,但总觉得被厂商绑着,而且流量多了之后费用也不少。之前也试过 Lsky这些图床
5
自建网站访问数据统计工具: umami Docker 部署全指南
Docker 容器折腾前言 如果你跟我一样,既想清楚知道自己的网站有多少人看、从哪来,又不想把用户数据拱手交给第三方,更受不了那些动辄弹出 “同意追踪” 的繁琐流程 —— 那 Umami 这工具,你大概率会喜欢。 它不搞花里胡哨,只把访问量、来源渠道、设备类型这
随机文章随机推荐

评论区

Profile Image of the Author
阿雷
一个小趴菜
公告
本站已从 WordPress 迁移到 Astro,访问更快、更清爽。文章链接保持原样(/archives/文章ID/),评论数据正在陆续恢复中。
分类
标签
最新动态
站点统计
文章
76
分类
15
标签
99
总字数
318,421
运行时长
0
最后活动
0 天前
站点信息
构建平台
EdgeOne Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录