🚀 使用 Docker Compose 部署 Uptime Kuma
Uptime Kuma 是一款开源的自我托管监控工具,它可以帮助你轻松跟踪网站、API 和各种网络服务的运行状态。使用 Docker Compose 部署可以简化安装过程,并确保环境一致性。
📦 项目简介
Uptime Kuma 提供了一个美观、反应迅速的 UI/UX 界面,支持多种监控类型,包括: - HTTP(s)、TCP、Ping、DNS 记录 - HTTP(s) 关键字、HTTP(s) Json 查询 - 推送监控、Steam 游戏服务器 - Docker 容器运行状态监控 (需要额外配置)
主要特性: - 🛎️ 多通知支持:集成 Telegram、Discord、电子邮件 (SMTP) 等 90 多种通知服务 - 📊 状态页面:可以创建漂亮的公共状态页用于展示服务状态 - 🔄 20 秒监控间隔:高频检查确保及时发现问题 - 🌐 多语言支持:包含中文界面 - 📈 监控图表:直观展示响应时间和状态历史 - 🔐 证书监控:监控 SSL 证书有效期并提供到期提醒
⚙️ 部署前准备
-
环境要求
- 已安装 Docker 和 Docker Compose
- 系统内存:建议 1GB 以上
- 确保 3001 端口(或你自定义的其他端口)未被占用
-
环境检查 ```bash # 检查 Docker 版本 docker --version
检查 Docker Compose 版本
docker-compose --version ```
🛠️ 配置 Docker Compose
-
创建项目目录
bash mkdir -p /opt/docker/uptime-kuma cd /opt/docker/uptime-kuma -
创建
docker-compose.yml基于你提供的配置,这里是一个优化后的版本:
services:
uptime-kuma:
image: louislam/uptime-kuma
container_name: uptime-kuma
volumes:
- ./uptime-kuma:/app/data # 持久化存储配置和数据
#- /var/run/docker.sock:/var/run/docker.sock:io # 可选:启用 Docker 容器监控
ports:
- 3001:3001 # 主机端口:容器端口
restart: always
# environment: # 可选环境变量
# - TZ=Asia/Shanghai # 设置时区
关键配置说明:
| 配置项 | 说明与建议 |
|---|---|
image |
使用官方镜像 louislam/uptime-kuma,可指定版本如 louislam/uptime-kuma:1 |
volumes |
./uptime-kuma:/app/data 用于持久化存储,确保数据在容器重启后不丢失 |
ports |
"3001:3001" 将容器内 3001 端口映射到主机,可按需修改主机端口 |
restart: always |
确保容器在异常退出时自动重启 |
🚀 启动与初始化
-
启动服务
bash docker-compose up -d -
检查服务状态
bash docker-compose ps # 或 docker ps | grep uptime-kuma -
查看实时日志
bash docker-compose logs -f uptime-kuma -
访问 Web 界面
- 打开浏览器,访问
http://你的服务器IP:3001 - 首次访问会显示设置界面
- 设置管理员账号和密码
- 打开浏览器,访问
⚙️ 基础配置与使用
-
添加监控项
- 点击左上角 "添加监控项" 按钮
- 选择监控类型:HTTP(s)、TCP、Ping、DNS 等
- 填写监控目标信息:名称、URL/IP、检查间隔等
-
配置通知方式
- 进入 "设置" > "通知"
- 选择通知类型:Telegram、Discord、电子邮件、钉钉、企业微信等
- 按照指引配置相关参数
-
设置状态页面
- 进入 "状态页面" section
- 点击 "添加新状态页面"
- 配置页面名称、 slug、描述等信息
- 将监控项添加到状态页面
🌐 进阶配置
使用 Nginx 反向代理(推荐用于生产环境)
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
启用 Docker 监控(可选)
取消注释 docker-compose.yml 中的 Docker socket 挂载:
volumes:
- ./uptime-kuma:/app/data
- /var/run/docker.sock:/var/run/docker.sock
🔒 维护与管理
- 数据备份:定期备份
./uptime-kuma目录 - 版本更新:
bash docker-compose down docker-compose pull docker-compose up -d - 服务管理:
- 停止服务:
docker-compose down - 重启服务:
docker-compose restart
🐛 常见问题排查
| 问题现象 | 可能原因与解决方法 |
|---|---|
| 无法访问 Web 界面 | 检查防火墙设置,确认 3001 端口已开放 |
| 监控数据丢失 | 检查卷挂载是否正确,确保 ./uptime-kuma 目录有写权限 |
| 通知不工作 | 检查通知配置参数是否正确,测试通知功能 |
| 容器启动失败 | 查看日志 docker-compose logs uptime-kuma,检查端口冲突 |
💡 提示:为了获得最佳监控效果,建议将 Uptime Kuma 部署在与被监控服务不同的服务器上。
现在你已经成功部署了 Uptime Kuma,可以开始添加监控项并配置通知,实时掌握你的服务状态!