
denimgroup/notifiertn-notifier是一款轻量级通知服务容器化解决方案,旨在提供简单高效的消息推送机制。该镜像封装了完整的通知服务功能,支持多种通知渠道,可快速集成到各类应用系统中,实现事件通知、告警提醒和业务消息的及时送达。
bashdocker run -d \ --name tn-notifier \ -p 8080:8080 \ -e NOTIFIER_PORT=8080 \ -e LOG_LEVEL=info \ tn-notifier:latest
yamlversion: '3' services: tn-notifier: image: tn-notifier:latest container_name: tn-notifier ports: - "8080:8080" environment: - NOTIFIER_PORT=8080 - LOG_LEVEL=info - DB_CONNECTION=sqlite - CACHE_TTL=300 volumes: - ./data:/app/data restart: unless-stopped
| 环境变量名 | 描述 | 默认值 | 可选值 |
|---|---|---|---|
| NOTIFIER_PORT | 服务监听端口 | 8080 | 1-65535 |
| LOG_LEVEL | 日志级别 | info | debug, info, warn, error |
| DB_CONNECTION | 数据库连接方式 | sqlite | sqlite, mysql, postgres |
| DB_HOST | 数据库主机 | - | - |
| DB_PORT | 数据库端口 | - | - |
| DB_USER | 数据库用户名 | - | - |
| DB_PASSWORD | 数据库密码 | - | - |
| DB_NAME | 数据库名称 | notifier | - |
| CACHE_TTL | 缓存过期时间(秒) | 300 | - |
| MAX_RETRY_COUNT | 通知失败最大重试次数 | 3 | - |
| RETRY_DELAY | 重试间隔(秒) | 60 | - |
为确保配置和数据持久化,建议挂载以下目录:
bash-v ./config:/app/config # 配置文件目录 -v ./data:/app/data # 数据存储目录 -v ./logs:/app/logs # 日志文件目录
bashcurl -X POST http://localhost:8080/api/v1/notify \ -H "Content-Type: application/json" \ -d '{ "channel": "email", "recipient": "***", "subject": "系统告警", "content": "服务器CPU使用率超过阈值,请及时处理" }'
bashcurl http://localhost:8080/api/v1/notify/{notificationId}
tn-notifier支持多种通知渠道,每种渠道需单独配置。详细配置方法请参考官方文档中对应渠道的配置指南。
bashdocker logs -f tn-notifier
bashdocker pull tn-notifier:latest docker stop tn-notifier docker rm tn-notifier # 重新运行容器(使用之前的配置参数)
Q: 如何添加新的通知渠道?
A: 可以通过挂载自定义渠道配置文件到/app/config/channels目录实现。
Q: 通知发送失败如何处理?
A: 系统会自动重试发送,重试次数和间隔可通过环境变量配置。失败通知可通过API查询并手动触发重发。
Q: 如何实现通知模板?
A: 可将模板文件挂载到/app/templates目录,在发送通知时指定模板名称即可。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务