🚀 Docker Build and Push / build-and-push (push) Successful in 3m30s
Reuses the same notification path as /crowdsec: formats the
Alertmanager webhook payload (firing/resolved, severity, instance,
summary/description) and forwards it to APPRISE_URL as {title, body}.
72 lines
1.6 KiB
Markdown
72 lines
1.6 KiB
Markdown
# CrowdSec Notify
|
|
|
|
<p align="center">
|
|
<img src="crowdsec-notify.png" alt="CrowdSec Notify Logo" width="150" />
|
|
</p>
|
|
|
|
Service de notification intelligent pour CrowdSec qui regroupe les alertes par IP.
|
|
|
|
## Fonctionnalités
|
|
|
|
- 📊 Regroupe les alertes par IP (évite les doublons)
|
|
- 🌍 Affiche le nom complet du pays
|
|
- 🔗 Inclut un lien WHOIS pour chaque IP
|
|
- 📱 Envoie les notifications via Apprise (Telegram)
|
|
|
|
## Déploiement
|
|
|
|
L'image Docker est automatiquement construite et poussée sur `gitea.killinger.fr/services/crowdsec-notify:latest`
|
|
|
|
### Variables d'environnement
|
|
|
|
| Variable | Description | Défaut |
|
|
|----------|-------------|--------|
|
|
| `APPRISE_URL` | URL du endpoint Apprise | **Requis** |
|
|
|
|
### Docker Run
|
|
|
|
```bash
|
|
docker run -d \
|
|
--name crowdsec-notify \
|
|
--restart unless-stopped \
|
|
-e APPRISE_URL=http://your-apprise-url/notify/my_alert_config \
|
|
-p 5000:5000 \
|
|
crowdsec-notify:latest
|
|
```
|
|
|
|
## Configuration CrowdSec
|
|
|
|
Dans `/etc/crowdsec/notifications/http.yaml` :
|
|
|
|
```yaml
|
|
type: http
|
|
name: apprise_alert
|
|
group_wait: 5m
|
|
group_threshold: 10
|
|
format: |
|
|
{{ . | toJson }}
|
|
url: http://crowdsec-notify:5000/crowdsec
|
|
method: POST
|
|
headers:
|
|
Content-Type: application/json
|
|
```
|
|
|
|
## Configuration Alertmanager
|
|
|
|
Sert aussi de pont entre Alertmanager et Apprise (le `webhook_configs` d'Alertmanager
|
|
n'a pas de templating de payload, il envoie son format natif tel quel).
|
|
|
|
Dans `alertmanager.yml` :
|
|
|
|
```yaml
|
|
receivers:
|
|
- name: 'apprise-notifications'
|
|
webhook_configs:
|
|
- url: 'http://crowdsec-notify:5000/alertmanager'
|
|
send_resolved: true
|
|
```
|
|
|
|
## Auteur
|
|
|
|
Maxime Killinger
|