Skip to content

🚀 使用 Docker Compose 部署 Uptime Kuma

Uptime Kuma 是一款开源的自我托管监控工具,它可以帮助你轻松跟踪网站、API 和各种网络服务的运行状态。使用 Docker Compose 部署可以简化安装过程,并确保环境一致性。

📦 项目简介

Uptime Kuma 提供了一个美观、反应迅速的 UI/UX 界面,支持多种监控类型,包括: - HTTP(s)TCPPingDNS 记录 - HTTP(s) 关键字HTTP(s) Json 查询 - 推送监控Steam 游戏服务器 - Docker 容器运行状态监控 (需要额外配置)

主要特性: - 🛎️ 多通知支持:集成 TelegramDiscord电子邮件 (SMTP)90 多种通知服务 - 📊 状态页面:可以创建漂亮的公共状态页用于展示服务状态 - 🔄 20 秒监控间隔:高频检查确保及时发现问题 - 🌐 多语言支持:包含中文界面 - 📈 监控图表:直观展示响应时间和状态历史 - 🔐 证书监控:监控 SSL 证书有效期并提供到期提醒

⚙️ 部署前准备

  1. 环境要求

    • 已安装 DockerDocker Compose
    • 系统内存:建议 1GB 以上
    • 确保 3001 端口(或你自定义的其他端口)未被占用
  2. 环境检查 ```bash # 检查 Docker 版本 docker --version

    检查 Docker Compose 版本

    docker-compose --version ```

🛠️ 配置 Docker Compose

  1. 创建项目目录 bash mkdir -p /opt/docker/uptime-kuma cd /opt/docker/uptime-kuma

  2. 创建 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 确保容器在异常退出时自动重启

🚀 启动与初始化

  1. 启动服务 bash docker-compose up -d

  2. 检查服务状态 bash docker-compose ps # 或 docker ps | grep uptime-kuma

  3. 查看实时日志 bash docker-compose logs -f uptime-kuma

  4. 访问 Web 界面

    • 打开浏览器,访问 http://你的服务器IP:3001
    • 首次访问会显示设置界面
    • 设置管理员账号密码

⚙️ 基础配置与使用

  1. 添加监控项

    • 点击左上角 "添加监控项" 按钮
    • 选择监控类型:HTTP(s)TCPPingDNS
    • 填写监控目标信息:名称URL/IP检查间隔
  2. 配置通知方式

    • 进入 "设置" > "通知"
    • 选择通知类型:TelegramDiscord电子邮件钉钉企业微信
    • 按照指引配置相关参数
  3. 设置状态页面

    • 进入 "状态页面" 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,可以开始添加监控项并配置通知,实时掌握你的服务状态!