À quoi ça sert ?
ntfy envoie des notifications sur votre téléphone avec une simple requête web. Vos scripts, sauvegardes et applications peuvent vous prévenir quand quelque chose se passe.
Pour qui ?
Ceux qui veulent être alertés sur leur téléphone par leurs scripts et serveurs.
Bon à savoir
Par défaut, n’importe qui connaissant le nom d’un sujet peut y écrire : choisissez des noms difficiles à deviner, ou activez le contrôle d’accès.
Après l'installation
- Installez l’application ntfy sur votre téléphone, ajoutez le serveur https://ntfy.mondomaine.fr et abonnez-vous à un sujet.
- Testez : curl -d "Bonjour !" https://ntfy.mondomaine.fr/mon-sujet
Le docker-compose
Exemple derrière Traefik, avec une explication sur chaque ligne. Pour l'adapter à votre cas (Nginx Proxy Manager, port local…), utilisez le générateur.
# docker-compose.yml : ntfy
# Ce fichier décrit les « conteneurs » à lancer : chaque conteneur est une petite
# boîte isolée qui contient un programme. Lancez-le avec : docker compose up -d
services:
ntfy:
# Le programme à télécharger (l'« image »), avec sa version
image: binwiederhier/ntfy:latest
container_name: ntfy
command: serve
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
# Empêche un programme piraté de devenir administrateur
security_opt:
- no-new-privileges:true
# Réglages de l'application. Les valeurs ${...} viennent du fichier .env
environment:
NTFY_BASE_URL: https://ntfy.mondomaine.fr
NTFY_CACHE_FILE: /var/cache/ntfy/cache.db
NTFY_BEHIND_PROXY: "true"
TZ: Europe/Paris
# Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
# Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
volumes:
- ./cache:/var/cache/ntfy
- ./etc:/etc/ntfy
# Réseau partagé avec le reverse proxy pour qu'il puisse joindre l'application
networks:
- traefik
# Indique à Traefik de publier l'application sur https://ntfy.mondomaine.fr avec un certificat HTTPS
labels:
- traefik.enable=true
- traefik.http.routers.ntfy.rule=Host(`ntfy.mondomaine.fr`)
- traefik.http.routers.ntfy.entrypoints=websecure
- traefik.http.routers.ntfy.tls.certresolver=letsencrypt
- traefik.http.services.ntfy.loadbalancer.server.port=80
# Le réseau du reverse proxy existe déjà : on s'y raccroche
networks:
traefik:
external: true