Files
HK-IT-Docs/基于Debian12的Uptime Kuma部署与配置.md

4.2 KiB
Raw Permalink Blame History

基于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 域名的映射:

stream {  
    map $ssl_preread_server_name $backend {  
        #... 你现有的其他域名映射 ...  
        kuma.你的域名    127.0.0.1:8444;  #新增,将 Kuma 域名指向新端口  
    }  
    #... 其他配置 ...  
}  

步骤 3.2:为 Kuma 添加 Nginx 站点配置并申请 SSL 证书
如果你已拥有泛域名证书可直接复用。新建配置文件 /etc/nginx/sites-enabled/kuma

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 命令重新创建容器