Files
wiki/Catalogue-Self-Hosted/apps/app-dispatcharr.md
T
2026-06-09 18:40:21 +02:00

98 lines
4.9 KiB
Markdown

---
title: Dispatcharr
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, arr, notifications, aggregation, monitoring, automation]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=*arr, https://github.com/dispatcharr/dispatcharr]
---
# 🎬 Dispatcharr
> Agrégateur de notifications unifiées pour la suite *arr : centralise, route et transforme les webhooks de Sonarr, Radarr, Lidarr, Prowlarr vers Discord, Telegram, Gotify, Ntfy…
## 📋 Informations Générales
| Attribut | Valeur |
|----------|--------|
| **Nom** | Dispatcharr |
| **Slug** | dispatcharr |
| **Description** | Agrégateur de notifications *arr : centralise les webhooks sortants de Sonarr/Radarr/Lidarr/Prowlarr/Bazarr et les distribue vers plusieurs destinations avec formatage custom |
| **Site officiel** | https://github.com/dispatcharr/dispatcharr |
| **Repository** | https://github.com/dispatcharr/dispatcharr |
| **Stars** | 3 401 ⭐ |
| **Licence** | MIT |
| **Langage principal** | Go |
| **Catégorie** | *arr |
| **Tags** | [catalogue, arr, notifications, aggregation, monitoring, automation] |
## 📝 Description
Dispatcharr est un **router de notifications** spécialisé pour la "*arr suite". Le problème classique : Sonarr envoie vers Discord, Radarr vers Telegram, Prowlarr vers Gotify, et au bout d'un moment on a 5 webhooks différents, 5 templates à maintenir, 5 bots à configurer. Dispatcharr intercepte **tous les webhooks sortants** de la stack *arr, les **normalise**, les **filtre** (par type d'événement, par app, par gravité), puis les **redistribue** vers une ou plusieurs destinations.
Concrètement : dans chaque *arr, on configure un seul webhook entrant qui pointe vers `http://dispatcharr:8080/webhook/sonarr`. Dispatcharr reçoit, parse le payload JSON, identifie l'événement ("Episode grabbed", "Download completed", "Health issue"), applique une **template custom** (Templates Go, syntaxe Mustache-like) et envoie à Discord + Telegram + Ntfy simultanément, avec un formatage propre et des embeds riches.
Dispatcharr supporte aussi les **alertes de santé** (Health issues) : si Sonarr signale "No indexers available", Dispatcharr peut le router vers un canal Telegram d'urgence distinct. C'est le **monitoring léger** parfait en complément de Grafana/Prometheus pour la stack *arr.
## 🚀 Installation
### Via Docker (recommandé)
```yaml
# docker-compose.yml
services:
dispatcharr:
image: ghcr.io/dispatcharr/dispatcharr:latest
container_name: dispatcharr
restart: unless-stopped
environment:
- DISPATCHARR_LOG_LEVEL=info
- DISPATCHARR_PORT=8080
volumes:
- ./config:/app/config
- ./templates:/app/templates
ports:
- "8080:8080"
```
### Installation manuelle
Binaire Go statique sur GitHub Releases (`curl + chmod +x`).
## ⚙️ Configuration
- **Incoming webhooks** : un endpoint par app source (`/webhook/sonarr`, `/webhook/radarr`, `/webhook/lidarr`).
- **Destinations** : Discord webhook URL, Telegram bot token + chat ID, Gotify URL, Ntfy topic, Email SMTP, Slack, Pushover, webhook custom.
- **Templates** : un par type d'événement, syntaxe Go templating, support Markdown et embeds riches.
- **Filtres** : router "Download failed" vers Telegram et "Health issue" vers un canal admin dédié.
- **Rate limiting** : éviter le spam si un indexer est down.
- **Health check** : endpoint `/health` pour monitoring externe.
## 🔗 Alternatives
- **Apprise / Apprise API** — bibliothèque Python plus généraliste, supporte 80+ destinations.
- **ntfy** — pub/sub simple, pas de templating avancé.
- **Notifiarr** — concurrent direct de Dispatcharr, focus *arr, plus connu mais plus complexe.
- **Gotify** — serveur de notifications, pas un routeur.
- **n8n / Node-RED** — workflows no-code pour relayer des webhooks, plus puissants mais plus lourds.
## 🔒 Sécurité
- **Webhook secret** : ajouter un header `X-Webhook-Secret` à chaque endpoint entrant pour éviter les abus.
- **HTTPS obligatoire** sur les destinations (Discord, Telegram) : Dispatcharr ne chiffre pas en transit interne, donc le réseau Docker doit être de confiance.
- **API Keys des destinations** : stocker dans des variables d'environnement ou des secrets Docker.
- **Logs** : désactiver le mode debug en prod, les payloads contiennent des spoilers de release.
- **fail2ban** sur l'API si elle est exposée.
## 📚 Ressources
- Repository : https://github.com/dispatcharr/dispatcharr
- Documentation : https://docs.dispatcharr.dev
- Wiki *arr : https://wiki.servarr.com/Useful_Tools#dispatcharr
## 🔗 Pages Liées
- [[cat-arr]]
- [[app-sonarr]] — source typique
- [[app-radarr]] — source typique
- [[app-lidarr]] — source typique
- [[app-prowlarr]] — source typique
- [[app-bazarr]] — source typique
- [[app-ntfy]] — destination possible
- [[app-gotify]] — destination possible
- [[app-traefik]]
- [[recettes-docker-compose]]
- [[securisation-home-lab]]