Un serveur de notifications gratuit et indépendant pour Jeedom ? On installe Ntfy sur Synology Docker !

Cédric
20 janvier 2023

Il existe aujourd’hui de nombreux services de notification pour être tenu informé de tous les évènements qu’on souhaite. Nous avions notamment vu l’utilisation de SMS via Free ou encore les notifications Telegram pour recevoir les notifications de notre système domotique Jeedom. Et si on utilisait notre propre serveur de notifications pour être totalement indépendant ? C’est possible grâce à Ntfy, un projet open source qu’il est possible d’installer librement sur son propre serveur.

Présentation de Ntfy

Ntfy, qui se prononce « notify », est un service de notification ultra léger, permettant d’envoyer des messages vers un smartphone ou un ordinateur via de simples scripts, sans besoin de compte et totalement gratuitement ! C’est un projet open source qui propose une API complète, et qu’il est possible d’héberger sur son propre serveur, comme un Nas par exemple.

Mais s’il est simple à utiliser, Ntfy n’en est pas moins complet, puisqu’il est capable de gérer des niveaux d’importance dans les alertes, gérer les pièces jointes, liens cliquables, etc.

Pour l’utiliser, il suffit d’installer l’application sur son smartphone (disponible sur Android et iOS). Aucun compte à créer: il suffit de s’abonner à une notification. On crée nous même le nom de la notification. Par exemple:

ntfy 01

Si on ne veut pas s'embêter avec l’installation du serveur Ntfy, on peut utiliser simplement celui mis à disposition par son créateur.

On envoie alors un message en utilisant le même nom de notification:

ntfy 02

On valide. Et on reçoit la notification instantanément sur tous les appareils abonnés à cette notification:

ntfy 03

Car en effet plusieurs appareils peuvent être alertés simultanément. En fait chaque appareil « écoute » constamment ce que peut publier le serveur. C’est extrêmement simple d’utilisation, et super efficace !

Comme il existe un package Docker, j’ai donc installé Ntfy sur mon Nas Synology pour héberger mon propre service de notification :)

Pré requis

Les besoins sont simples: il suffira ici de posséder un Nas Synology avec Docker installé dessus (disponible via le Centre de Paquets Synology).

Il faudra également avoir configuré le Reverse Proxy avec le certificat SSL comme nous avions vu dans le guide précédent.

Configuration de l’accès extérieur

Pour que les notifications fonctionnent correctement, le serveur doit être accessible de l’extérieur. Il faut en effet que les applications de notification puisse s’y connecter de n’importe où.

A lire également:
Installation de Frigate sur le mini pc NiPoGi GK3 Plus pour une vidéosurveillance au top !

On va commencer par créer une entrée sur le Reverse Proxy. Si votre Reverse Proxy est correctement configuré, avec certificat SSL, etc. il suffit de renseigner quelques informations pour que Ntfy soit accessible:

  • on donne un nom à l’entrée: par exemple Ntfy
  • on renseigne son nom d’hôte. Par exemple ntfy.mondomaine.synology.me , comme nous avions vu dans le guide sur le Reverse Proxy
  • Port: 443
  • on coche « Activer HSTS »
  • puis dans la destination, on renseigne protocole HTTP, localhost, et le port sur lequel on prévoit de faire tourner le service, par exemple ici 5202:
ntfy docker 04

Enfin, dans l’onglet « Entête personnalisé », on clique sur « Créer », puis Websocket. Deux entrées vont être crées automatiquement:

ntfy docker 05

On valide. C’est fini pour le Reverse Proxy. Passons à l’installation du package Docker.

Installation de Ntfy sur Docker

On va commencer par créer deux répertoires sur le Nas via File Station. Dans le répertoire Docker, on crée un répertoire ntfy, puis à l’intérieur un sous répertoire « cache » puis un autre « config »:

ntfy docker 06

Dans l’application Docker, maintenant, dans l’onglet Réseau, on commence par créer une connexion réseau (cela permet de bien séparer les différents conteneurs). On clique sur « Ajouter »:

vaultwarden reseau 01

Et on crée un réseau « ntfy_default » par exemple:

ntfy docker 03

Ensuite, dans le menu « Registre », on recherche « ntfy ». On sélectionne le paquets « binwiederhier/ntfy », et on clique sur « Télécharger ».

ntfy docker 01

On sélectionne « lastest » dans la boite de dialogue suivante pour bien avoir la dernière version.

Le téléchargement va très vite, le package pesant moins de 30Mo.

On le retrouve dans le menu « Image »:

ntfy docker 02

On le sélectionne, et on clique sur « Lancer ». On commence par sélectionner la connexion réseau créée plus haut:

ntfy docker 07

Ensuite, on donne un nom au conteneur, par exemple « Ntfy-server », on coche « redémarrage automatique », pour être sûr que le service se relance après un redémarrage du Nas.

ntfy docker 08

On clique ensuite « Paramètres Avancés », puis dans l’onglet commande d’exécution, on ajoute « serve »:

ntfy docker 09

On valide, puis on fait suivant. Là on indique le port renseigné au niveau du Reverse Proxy: nous avions mis 5202:

ntfy docker 10

On va ensuite mapper les deux répertoires créés précédemment, en cliquant sur « Ajouter un dossier », et on indique en face /var/cache/ntfy et /etc/ntfy:

ntfy docker 11

On valide: il n’y a plus qu’à confirmer, notre conteneur va être créé et démarré:

ntfy docker 12

Si vous tapez dans un navigateur l’adresse renseignée dans le Reverse Proxy pour Ntfy, ici https://ntfy.mondomaine.synology.me, vous devez arriver sur cette page: si c’est le cas, bravo, votre installation fonctionne !

ntfy docker 13

Configuration de Ntfy

Ntfy peut fonctionner tel quel, sans rien faire de plus. C’est ce que j’aime sur ce service: sa simplicité.

A lire également:
Installation de Frigate sur le mini pc NiPoGi GK3 Plus pour une vidéosurveillance au top !

Mais il est possible d’ajuster de nombreux paramètres via son fichier de configuration server.yml. Un exemple de ce fichier est disponible ici. Il suffit de l’enregistrer et de le placer dans le répertoire docker/ntfy/config que nous avons créé au tout début.

ntfy docker 14

Il est possible d’activer la gestion d’utilisateurs avec mot de passe, activer un serveur smtp, etc. Tous les paramètres sont disponibles sur la page du développeur. Pour le moment je n’ai activé que trois paramètres, pour indiquer l’url du service, et activer le cache pour les messages et les pièces jointes:

base-url: "http://ntfy.mondomaine.synology.me"
cache-file: "/var/cache/ntfy/cache.db"
attachment-cache-dir: "/var/cache/ntfy/attachments"

Ce qui donne dans le fichier de configuration:

ntfy docker 15

On enregistre le fichier avec les modifications, et on relance le conteneur Docker pour prendre en compte les modifications.

Exemples d’utilisation

Avant de nous lancer dans la mise en place des notifications un peu partout, testons si notre installation fonctionne correctement !

Test de fonctionnement

Sur le smartphone, inscrivez vous à une notification dont vous définirez le nom, et indiquez que vous utilisez un serveur différent, puis indiquez l’adresse de votre serveur sur votre Synology. Par exemple:

screenshot 20230118 081206 ntfy

A l’adresse de votre serveur Ntfy, saisissez une notification, en reprenant le même nom du sujet. Par exemple:

ntfy 04

Validez. Vous devez recevoir instantanément la notification sur votre smartphone:

screenshot 20230118 081412 ntfy

Si tout est ok, on peut continuer !

Utilisation avec Jeedom

Quand j’ai découvert ce super service, j’en avais discuté sur le forum Jeedom. Il n’a pas fallu longtemps pour que Lunarok nous fasse un super plugin pour utiliser Ntfy dans Jeedom, et ceci gratuitement !

Il suffit de l’installer et de l’activer comme n’importe quel autre plugin Jeedom.

Ensuite via le menu Plugins / Communication / Ntfy, on crée un nouveau périphérique. On lui donne le nom qu’on veut, on l’active, et surtout on complète l’URL Ntfy, qui sera du type https://url-du-serveur-ntfy/sujet-de-notification. Par exemple https://ntfy.mondomaine.synology.me/mes_notif_jeedom_2915 . Attention, utilisez un titre de sujet que personne ne pourra deviner pour que personne d’autre ne puisse s’abonner à vos notifications. Ce peut être une suite de chiffres et de lettres ne voulant rien dire.

ntfy jeedom 01

On obtient ce widget pouvant envoyer des notifications:

ntfy jeedom 02

Mais le vrai intérêt, c’est de pouvoir envoyer des notifications via les scénarios. Par exemple ici une notification me confirmant l’ouverture des volets le matin:

A lire également:
DSL, fibre optique, LTE, câble et satellite: on fait le point sur les connexions internet
ntfy jeedom 03

Dans le champ Message, on peut taper le message qu’on souhaite. Mais dans le champ Options, il est possible de stipuler le titre via « Title: », une icône via « Tags », etc. tous ces arguments étant séparés par un point virgule.

Je recois par exemple cette notification su mon smartphone:

screenshot 20230118 083205 ntfy 1

Vous pouvez retrouver toutes les options qu’il est possible de passer sur la page officielle. On peut notamment régler le degrés d’importance du message, ce qui fera réagir le smartphone différemment. Joindre une image, insérer un lien, etc. pour utiliser par exemple la fonction ask de Jeedom. Bref, c’est très complet, et une fois bien maitrisé les différentes options, on ne peut plus s’en passer !

Utilisation avec Synology

Votre Nas Synology vous envoie aussi des notifications par mail ? Vous pouvez les recevoir via Ntfy en passant par votre serveur ! Pour cela, il suffit d’utiliser les webhooks dans la configuration des notifications du Nas:

ntfy syno 01
ntfy syno 02

Je vous invite à consulter le Tuto de Cachem pour la mise en place, qui explique tout de A à Z pour recevoir les notifications du Synology via Ntfy. Il suffira de remplacer l’adresse https://ntfy.sh/ par celle de votre propre serveur Ntfy.

Conclusion

Ntfy est un service de notification vraiment sympa et très bien concu, qui gagne de plus en plus d’utilisateurs. Le site officiel recense d’ailleurs une liste d’autres applications utilisant Ntfy, comme par exemple Radarr et Sonarr, Uptime Kuma, Automatisch, etc.

Je l’utilise maintenant depuis plusieurs mois, et toutes les notifications que je peux faire passer par Ntfy passent par lui ! Tout est centralisé au même endroit, via un service que je gère moi même, et dont les possibilités ne déméritent pas face à d’autres solutions « concurrentes ». Bref, l’essayer c’est l’adopter !

share Partager

Ces articles pourraient aussi vous intéresser:

Gaming et éclairage connecté : transformez la chambre de votre ado en véritable arène esport !

Découvrez comment créer une chambre d'ado gaming immersive en synchronisant l'applique murale et le lustre moderne avec votre setup PC. Guide complet sur les protocoles d'éclairage et solutions connectées pour une expérience de jeu unique.

DSL, fibre optique, LTE, câble et satellite: on fait le point sur les connexions internet

Actuellement, il existe de multiples façons d'accéder à Internet, ou plus précisément, divers types de connexions en ligne. En outre, des tendances comme le télétravail et le streaming de divertissement ne cessent d'augmenter les besoins en bande passante. Pour profiter de services de qualité, il est important de comprendre les différences entre le DSL, le câble, la fibre optique et même la téléphonie mobile, devenue elle aussi un moyen de connexion à internet.

Installation de Frigate sur le mini pc NiPoGi GK3 Plus pour une vidéosurveillance au top !

Ce guide explique comment installer Frigate sur un mini PC NiPoGi GK3 Plus à 200€, pour obtenir un système de vidéosurveillance ultra complet, intégrable à Jeedom ou Home Assistant.

5 réactions

Anto2b
21 janvier 2023

Bonjour
Encore un service ouvert vers internet qui sera demain la porte d’entrée d’un pirate. Avoir des solutions locales c’est bien mais ça demande une expertise qui va au delà de la première installation qui consiste à suivre un tuto sur internet. Combien y a eu de Nas piraté ? Un paquet, y compris dans le monde pro, les salariés pensant mettre leurs données à l’abri des gafa… Données que l’on retrouve quelques mois après sur internet après piratage

DeF
22 janvier 2023

Difficile avec toutes ces applications de notification, moi j’utilise Gotify, compatible aussi Jeedom et il y a aussi une application mobile Android. Prise en charge aussi par de nombreux services, à voir avec le temps qui survivra ?

Syl
30 janvier 2023

Bonjour et merci pour ton article. Petite question : peut on aussi le configurer pour envoyer des notifications via html?

Cédric
31 janvier 2023

Hello ! Qu’entends tu par « notifications via html » ?
Sinon tu as pas mal d’exemples d’utilisation sur cette page: https://docs.ntfy.sh/examples/

titof2375
3 janvier 2025

Bonjour, peut-on envoyer des images avec votre solution?

Votre réaction
Nom
Adresse de messagerie
Site internet