82 lines
2.2 KiB
Markdown
82 lines
2.2 KiB
Markdown
|
|
# Diun
|
|||
|
|
|
|||
|
|
Diun 是一个用于监控 Docker 镜像更新并发送通知的命令行工具。
|
|||
|
|
|
|||
|
|
## 功能特性
|
|||
|
|
|
|||
|
|
- 自动监控 Docker 镜像更新
|
|||
|
|
- 支持多种通知方式(Discord、Telegram、Slack、邮件等)
|
|||
|
|
- 支持多种提供者(Docker、Kubernetes、Swarm、Nomad等)
|
|||
|
|
- 基于 Cron 表达式的调度
|
|||
|
|
- 支持多种架构(amd64、arm64、arm/v6、arm/v7等)
|
|||
|
|
- 轻量级设计,资源占用少
|
|||
|
|
|
|||
|
|
## 使用方法
|
|||
|
|
|
|||
|
|
1. 部署后 Diun 会自动开始监控 Docker 镜像
|
|||
|
|
2. 默认每6小时检查一次镜像更新
|
|||
|
|
3. 当检测到镜像更新时,会发送通知
|
|||
|
|
4. 通过 Docker 标签 `diun.enable=true` 控制哪些容器被监控
|
|||
|
|
|
|||
|
|
## 配置说明
|
|||
|
|
|
|||
|
|
- **时区**:Asia/Shanghai(上海时区)
|
|||
|
|
- **数据存储**:`./data` 目录包含 bbolt 数据库
|
|||
|
|
- **配置文件**:`./diun.yml` 包含所有监控和通知配置
|
|||
|
|
|
|||
|
|
## 默认配置
|
|||
|
|
|
|||
|
|
应用使用以下默认配置:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
watch:
|
|||
|
|
workers: 20
|
|||
|
|
schedule: "0 */6 * * *"
|
|||
|
|
firstCheckNotif: false
|
|||
|
|
|
|||
|
|
providers:
|
|||
|
|
docker:
|
|||
|
|
watchByDefault: true
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 自定义配置
|
|||
|
|
|
|||
|
|
如需自定义监控、通知等配置,请编辑 `diun.yml` 文件。参考官方文档进行配置:
|
|||
|
|
|
|||
|
|
- [配置概述](https://crazymax.dev/diun/configuration/overview/)
|
|||
|
|
- [通知配置](https://crazymax.dev/diun/notifications/)
|
|||
|
|
- [提供者配置](https://crazymax.dev/diun/providers/)
|
|||
|
|
|
|||
|
|
## 支持的提供者
|
|||
|
|
|
|||
|
|
- **Docker**:监控 Docker 容器和镜像
|
|||
|
|
- **Kubernetes**:监控 Kubernetes 集群
|
|||
|
|
- **Swarm**:监控 Docker Swarm 服务
|
|||
|
|
- **Nomad**:监控 HashiCorp Nomad 任务
|
|||
|
|
- **Dockerfile**:监控 Dockerfile 中的基础镜像
|
|||
|
|
- **File**:从文件读取镜像列表
|
|||
|
|
|
|||
|
|
## 支持的通知方式
|
|||
|
|
|
|||
|
|
- Discord、Telegram、Slack
|
|||
|
|
- 邮件、Matrix、MQTT
|
|||
|
|
- Pushover、Rocket.Chat
|
|||
|
|
- Webhook、Script、Signal
|
|||
|
|
- Gotify、Ntfy、Teams
|
|||
|
|
|
|||
|
|
## 监控配置
|
|||
|
|
|
|||
|
|
要监控特定的 Docker 容器,在容器标签中添加:
|
|||
|
|
|
|||
|
|
```yaml
|
|||
|
|
labels:
|
|||
|
|
- "diun.enable=true"
|
|||
|
|
- "diun.watch_repo=true" # 可选,监控仓库更新
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
## 相关链接
|
|||
|
|
|
|||
|
|
- [官方网站](https://crazymax.dev/diun/)
|
|||
|
|
- [GitHub 项目](https://github.com/crazy-max/diun)
|
|||
|
|
- [Docker Hub](https://hub.docker.com/r/crazymax/diun/)
|
|||
|
|
- [基础示例](https://crazymax.dev/diun/usage/basic-example/)
|