108 lines
4.0 KiB
Markdown
108 lines
4.0 KiB
Markdown
# 基于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 命令重新创建容器
|