---
title: ntfy
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, notifications, go, app-marathon-batch-rattrapage-3]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Notifications, https://ntfy.sh]
---

# 🔔 ntfy

> **Notifications push en HTTP POST le plus simple possible** : `curl -d "hello" ntfy.sh/mon_topic`. Self-hosté, sans compte, sans dépendance.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [ntfy.sh](https://ntfy.sh) |
| **GitHub** | [binwiederhier/ntfy](https://github.com/binwiederhier/ntfy) |
| **License** | Apache-2.0 (serveur) / GPL-2.0 (app Android) |
| **Langage** | Go |
| **Étoiles GitHub** | 24k ⭐ |
| **Catégorie** | [[cat-notifications|Notifications]] |

## 📝 Description

**ntfy** (prononcez "*notify*") est un service de notification push **minimaliste** : un simple POST HTTP sur `/topic` envoie un message aux abonnés du topic. Pas d'auth obligatoire (sauf à le vouloir), topics publics ou privés, apps Android/iOS/web, WebSocket, et **upstream vers Gotify/Pushover/Apprise**.

**Différence avec Gotify** : ntfy est plus **simple et minimaliste** (un topic = une URL), sans gestion fine d'utilisateurs ; Gotify a un vrai système de comptes, plugins et apps plus riches. ntfy gagne sur la **légèreté** et la **flexibilité** (topics anonymes, intégrations shell one-liner).

**Pour qui** : devs, homelabbers, et tous ceux qui veulent un push **en 10 secondes** sans configurer un serveur lourd.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
version: '3.8'
services:
  ntfy:
    image: binwiederhier/ntfy
    container_name: ntfy
    command: serve
    restart: unless-stopped
    ports:
      - "8090:80"
    volumes:
      - /var/cache/ntfy:/var/cache/ntfy
      - /etc/ntfy:/etc/ntfy
    environment:
      - TZ=Europe/Paris
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ntfy.rule=Host(`ntfy.example.com`)"
      - "traefik.http.routers.ntfy.entrypoints=websecure"
      - "traefik.http.routers.ntfy.tls.certresolver=letsencrypt"

volumes:
  ntfy-cache:
  ntfy-config:
```

### Envoi / Abonnement

```bash
# Publier
curl -d "Disque plein !" ntfy.example.com/backup

# S'abonner (CLI)
ntfy subscribe ntfy.example.com/backup
```

## 🔄 Alternatives

### Open Source
- [[app-gotify]] — Plus complet (users, apps natives)
- [[app-apprise]] — Envoie *vers* ntfy
- [[app-argus]] — Agrégateur de releases

### Propriétaires
- **Pushover** (5 USD) — Push mobile éprouvé
- **Slack/Discord webhooks** — Pour les usages collaboratifs

## 🔐 Sécurité
- **Auth via token** par topic : `Authorization: Bearer tk_xxxxx` pour les topics privés.
- **HTTPS obligatoire** derrière Traefik (les topics publics sont en clair sur Internet sinon).
- **Rate limiting** configurable (`visitor-message-daily-limit`) pour limiter l'abus.
- **E2E** : ntfy supporte le chiffrement côté client (XChaCha20) entre publisher et abonné.

## 📚 Ressources
- [Documentation](https://ntfy.sh/docs/)
- [Installation Docker](https://ntfy.sh/docs/install/)
- [API](https://ntfy.sh/docs/publish/)

## Pages Liées
- [[cat-notifications]] — Catégorie Notifications
- [[app-gotify]] — Concurrent
- [[app-apprise]] — Multi-services
- [[recettes-docker-compose]] — Templates Docker
