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

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:
Utilisation des variables dans Jeedom: exemple pour suivre ma production photovoltaique

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é:

A lire également:
Tuto Synology Reverse Proxy: comment accéder facilement à ses équipements depuis l'extérieur ?
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é.

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.

A lire également:
Nouvelle Jeedom Luna: box domotique ZigBee, Zwave 700, et à moins de 200€ !
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:

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 !

Pour information, cet article peut contenir des liens affiliés, sans aucun impact sur ce que vous gagnez vous même ou le prix que vous pouvez payer pour le produit. Passer par ce lien vous permet de me remercier pour le travail effectué sur le blog chaque jour, et d'aider à couvrir les dépenses du site (hébergement, frais de port pour les concours, etc.). Ca ne vous coute rien, mais ca m'aide beaucoup ! Merci donc à ceux qui joueront le jeu !

Inscrivez vous à notre newsletter !

Ne ratez plus aucun article, test de produit ou guide, grâce à un mail dans votre boite chaque vendredi !

4 Commentaires
  1. 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

  2. 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 😇

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

Laisser un commentaire

Maison et Domotique
Logo
Register New Account
Enregistrez vous, et stockez vos articles préférés sur votre compte pour les retrouver n'importe où, n'importe quand !
Compare items
  • Casques Audio (0)
  • Sondes de Piscine Connectées (0)
  • Smartphones (0)
Compare