Aller plus loin

Recevoir les alertes de son serveur sur Discord

Créer un webhook Discord, envoyer un message depuis un script bash, faire de beaux messages colorés, et brancher la sauvegarde, les mises à jour et les erreurs.

Publié le 10 octobre 2026 · ⏱ 7 min de lecture

Vous avez déjà Discord sur votre téléphone ? Un webhook permet à n’importe quel script de votre serveur d’y poster un message. Pas d’application à installer sur le serveur, juste curl. C’est l’alternative à ntfy si vous préférez tout recevoir au même endroit.

1. Créer le webhook

  1. Créez un serveur Discord privé (ou utilisez le vôtre), avec un salon #serveur.
  2. Paramètres du salon → Intégrations → Webhooks → Nouveau webhook.
  3. Donnez-lui un nom (« VPS ») et copiez l’URL du webhook.

L’URL du webhook est un secret : quiconque la connaît peut écrire dans votre salon. Ne la mettez jamais dans un dépôt Git ou un forum. Rangez-la dans un fichier lisible par root seulement.

echo 'DISCORD_WEBHOOK="https://discord.com/api/webhooks/…"' | sudo tee /etc/discord-webhook
sudo chmod 600 /etc/discord-webhook

2. Un premier message

sudo bash -c 'source /etc/discord-webhook; curl -fsS -H "Content-Type: application/json" \
  -d "{\"content\": \"Bonjour depuis mon serveur\"}" "$DISCORD_WEBHOOK"'

3. Une fonction réutilisable

Les guillemets dans le JSON deviennent vite un casse-tête : jq s’en occupe. Créez une petite commande discord :

sudo apt install -y jq
sudo tee /usr/local/bin/discord >/dev/null <<'EOF'
#!/bin/bash
# Usage : discord "Titre" "Message" [rouge|vert|orange|bleu]
source /etc/discord-webhook
case "${3:-bleu}" in
  rouge) c=15158332 ;; vert) c=3066993 ;; orange) c=15105570 ;; *) c=3447003 ;;
esac
jq -n --arg t "$1" --arg d "${2:0:4000}" --argjson c "$c" --arg h "$(hostname)" \
  '{username: "Serveur", embeds: [{title: $t, description: $d, color: $c, footer: {text: $h}, timestamp: (now | todate)}]}' |
  curl -fsS -m 15 -H "Content-Type: application/json" -d @- "$DISCORD_WEBHOOK" >/dev/null
EOF
sudo chmod 700 /usr/local/bin/discord
sudo discord "Test" "Tout va bien" vert

Le message arrive avec un bandeau de couleur, la date et le nom du serveur. La description est coupée à 4 000 caractères, la limite de Discord.

4. Brancher la sauvegarde

À la fin du script de sauvegarde automatique (/usr/local/bin/sauvegarde-serveur) :

n=$(ls /opt/backups/*_$(date +%F).tgz 2>/dev/null | wc -l)
discord "Sauvegarde" "$n archives, $(du -sh /opt/backups | cut -f1) au total" vert

5. Brancher les mises à jour

À la fin de /usr/local/bin/maj-applications, la liste de ce qui tourne :

discord "Mises à jour" "$(docker ps --format '• {{.Names}} : {{.Status}}')" bleu

6. Être prévenu quand une tâche échoue

systemd peut lancer une commande quand un service échoue. Créez un service d’alerte générique :

sudo tee /etc/systemd/system/alerte-echec@.service >/dev/null <<'EOF'
[Unit]
Description=Alerte Discord pour %i
[Service]
Type=oneshot
ExecStart=/usr/local/bin/discord "Échec : %i" "La tâche %i a échoué. Voir : journalctl -u %i" rouge
EOF
sudo systemctl daemon-reload

Puis ajoutez-le à la sauvegarde :

sudo systemctl edit sauvegarde-serveur.service
[Unit]
OnFailure=alerte-echec@%n.service

OnFailure se déclenche quand la tâche se termine en erreur ou ne peut pas démarrer. Il ne voit pas une archive ratée au milieu d’une sauvegarde qui se termine normalement : gardez aussi le message quotidien de l’étape 4. Le matin où il n’arrive pas, c’est un signal en soi.

7. Les bonnes pratiques

  • Alertez sur les changements, pas sur les états : « le disque a dépassé 85 % » une fois, pas toutes les 15 minutes. Sinon, on finit par ignorer le salon.
  • Un message « résolu » quand le problème disparaît rassure autant que l’alerte.
  • Séparez les salons : #alertes (à lire tout de suite) et #infos (sauvegardes, mises à jour).
  • Testez l’échec : coupez volontairement une tâche une fois, pour vérifier que l’alerte arrive.

Le guide surveiller son serveur montre comment combiner tout ça dans un watchdog.

Une commande qui ne marche pas, une explication pas claire ? Signaler une erreur dans cette page.

Prêt à vous lancer ?

Choisissez vos applications et récupérez une installation complète.

Créer mon serveur