基于Debian12的Uptime Kuma部署与配置

本文讲述Debian12环境下进行Kuma部署和配置,包括Docker 安装、Kuma 部署、HTTPS 域名配置。

1. 安装 Docker (Debian 12)

# 更新系统并安装依赖

sudo apt update && sudo apt upgrade -y

sudo apt install -y ca-certificates curl gnupg lsb-release

# 添加 Docker 官方 GPG 密钥和软件源

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg –dearmor -o /etc/apt/keyrings/docker.gpg

echo “deb [arch=$(dpkg –print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable” | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker Engine

sudo apt update

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 启动 Docker 并设置开机自启

sudo systemctl start docker

sudo systemctl enable docker

# 将当前用户加入 docker 组,避免每次输入 sudo

sudo usermod -aG docker $USER

# 重要:执行完毕后,需要退出 SSH 重新登录才能使权限生效

2. 部署 Uptime Kuma 容器

# 创建数据持久化目录

mkdir -p /opt/uptime-kuma-data

# 运行 Kuma 容器 (使用 host 网络模式,简化后续代理配置)

docker run -d –restart=always \

  –network host \

  -v /opt/uptime-kuma-data:/app/data \

  –name uptime-kuma \

  louislam/uptime-kuma:2

  • 访问地址:http://你的IP:3001
  • 首次访问:设置管理员邮箱和密码。
  • 注意:使用 –network host 模式后,-p 参数失效,容器直接使用宿主机的 3001 端口。

3. 配置 HTTPS 访问

你的现有架构为:Nginx Stream (SNI分流) -> 后端 Nginx (HTTPs) -> 服务。Kuma 作为新服务,通过独立端口 8444 接入。

步骤 3.1:修改 Stream 分流配置

编辑 Nginx 主配置文件(例如 /etc/nginx/nginx.conf),在 stream 块的 map 中添加 Kuma 域名的映射:

nginx

stream {

    map $ssl_preread_server_name $backend {

        # … 你现有的其他域名映射 …

        kuma.你的域名    127.0.0.1:8444;  # 新增,将 Kuma 域名指向新端口

    }

    # … 其他配置 …

}

步骤 3.2:为 Kuma 添加 Nginx 站点配置并申请 SSL 证书

如果你已拥有泛域名证书可直接复用。新建配置文件 /etc/nginx/sites-enabled/kuma:

nginx

server {

    listen 127.0.0.1:8444 ssl http2;

    server_name kuma.你的域名;

    # 复用已有的泛域名证书路径

    ssl_certificate     /etc/letsencrypt/live/你的域名/fullchain.pem;

    ssl_certificate_key /etc/letsencrypt/live/你的域名/privkey.pem;

    location / {

        proxy_pass http://127.0.0.1:3001;

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection “upgrade”;

        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;

    }

}

步骤 3.3:测试并重载 Nginx

nginx -t && systemctl reload nginx

  • 最终访问地址:https://kuma.你的域名
  • 后续设置:登录 Kuma 后台,进入 设置反向代理,将 信任代理 设为 

4. 配置Kuma

手机端:安装 Bark App,注册后复制你的专属 URL (例如 https://api.day.app/你的Key/)。

Kuma 管理端

  • 进入 设置通知
  • 添加通知,类型选择 Bark (API v2)
  • Bark 接入点:填入你的 URL 并在末尾加上 /push (格式:https://api.day.app/你的Key/push)。
  • Bark 群组:填入英文标识,如 homemonitor。
  • 点击 测试,手机应收到推送。保存。

配置完成后,任一方 Kuma 服务中断,你的手机都会立即收到告警。

5. 常用管理命令

# 查看 Kuma 容器状态

docker ps -a –filter name=uptime-kuma

# 重启 Kuma 容器

docker restart uptime-kuma

# 查看 Kuma 实时日志

docker logs -f uptime-kuma

# 升级 Kuma

docker stop uptime-kuma

docker rm uptime-kuma

docker pull louislam/uptime-kuma:2

# 之后使用相同的 docker run 命令重新创建容器

类似文章

发表回复