Skip to main content

Installation

image.png

Fichier docker-compose

Dans cette procédure, nous allons utiliser Docker. Une documentation préalable à ce sujet est disponible ici.
Commençons par créer un fichier docker-compose.yaml, adapté à nos besoins :

services:
  ntfy:
    image: binwiederhier/ntfy  # On utilise l'image officielle du service Ntfy, un serveur de notification en temps réel (push).
    container_name: ntfy       # On nomme le container "ntfy" pour le retrouver plus facilement via Docker ou Portainer.
        command:
      - serve                  # On lance le service avec la commande "serve", qui démarre le serveur Ntfy.
    environment:
      - TZ=UTC+01:00           # On définit le fuseau horaire (ici UTC+1, soit Paris/Bruxelles en hiver).
    user: 1000:1000            # Le container s'exécute avec l'UID et GID 1000 (souvent le premier utilisateur local), pour éviter les droits root.
    volumes:
      - /var/cache/ntfy:/var/cache/ntfy  # Volume pour stocker les données en cache (messages, abonnements…).
      - /etc/ntfy:/etc/ntfy              # Volume pour les fichiers de configuration personnalisés de Ntfy.
    ports:
      - 8080:80                # On expose le port interne 80 du container sur le port 8080 de l'hôte (http://localhost:8080).
    healthcheck:              # Vérification régulière que le service fonctionne bien :
      test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"]
      interval: 60s           # Le test est exécuté toutes les 60 secondes.
      timeout: 10s            # Il échoue si le test ne répond pas en moins de 10 secondes.
      retries: 3              # Après 3 échecs consécutifs, Docker considère que le container est "unhealthy".
      start_period: 40s       # On attend 40 secondes après le démarrage avant de commencer les vérifications.
    restart: unless-stopped   # Le container redémarre automatiquement sauf si on l'arrête manuellement (bon compromis pour la stabilité).

Démarrage

Une fois le fichier docker-compose.yaml créé, nous pouvons lancer NTFY avec la commande suivante :

docker compose up -d