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

108 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 基于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 命令重新创建容器