En bref
- Exposez votre serveur ntfy en HTTPS avec auth-default-access: "deny-all" et générez un jeton Bearer tk_... dédié à votre Mac.
- Activez upstream-base-url: "https://ntfy.sh" dans server.yml pour que l’application iOS ntfy soit réveillée en arrière-plan via APNs.
- Dans NotiFerry (Réglages → Connexion), indiquez l’URL HTTPS de votre serveur et votre jeton d’accès ou mot de passe (stocké dans le Trousseau macOS).
- NotiFerry lit les nouvelles alertes du dossier db2 en lecture seule dans l’App Sandbox (sans Accès complet au disque) et les publie vers votre serveur.
Pourquoi utiliser un serveur ntfy auto-hébergé depuis un Mac ?
Le service public ntfy.sh permet de tester immédiatement le transfert de notifications Mac vers iPhone sans créer de compte. De nombreux développeurs passent toutefois à une instance ntfy auto-hébergée (via Docker, un NAS ou un VPS) pour trois raisons :
| Critère | Service public ntfy.sh | Serveur ntfy auto-hébergé |
|---|---|---|
| Contrôle d’accès | Nom de sujet secret sur l’offre gratuite (ou compte ntfy.sh payant) | auth-default-access: "deny-all" avec jeton Bearer tk_... ou Basic auth |
| Quota quotidien | 250 messages / 24 h par adresse IP | Défini par votre propre configuration serveur |
| Rétention et infrastructure | Serveur tiers ; messages conservés en cache ~12 h par défaut | Votre propre serveur et votre politique de cache locale |
1. Créer un jeton Bearer ntfy ou un compte Basic auth
Sur votre serveur ntfy, activez le contrôle d’accès dans /etc/ntfy/server.yml et générez un jeton tk_... dédié à votre Mac afin de pouvoir le révoquer indépendamment de votre iPhone :
# Sur votre serveur ntfy auto-hébergé (Docker ou ntfy serve)
# 1. Restreindre l'accès par défaut dans /etc/ntfy/server.yml :
# base-url: "https://ntfy.exemple.fr"
# auth-file: "/var/lib/ntfy/user.db"
# auth-default-access: "deny-all"
# 2. Créer un utilisateur et autoriser le sujet du Mac :
ntfy user add mac-forwarder
ntfy access mac-forwarder alertes-mac rw
# 3. Générer un jeton Bearer (tk_...) dédié au Mac :
ntfy token add --label="MacBook Pro NotiFerry" mac-forwarderPour que l’iPhone reçoive instantanément les notifications en arrière-plan lorsque l’écran est verrouillé, renseignez également upstream-base-url: "https://ntfy.sh" dans server.yml conformément à la documentation officielle ntfy pour iOS. Ce réglage envoie uniquement un hachage de réveil via APNs afin que l’application iOS ntfy récupère le message directement sur votre serveur privé.
# Tester la publication depuis le Terminal macOS avec le jeton Bearer
curl -H "Authorization: Bearer tk_votre_jeton_secret" \
-H "Title: Xcode" \
-d "Archive terminée" \
https://ntfy.exemple.fr/alertes-mac2. Connecter NotiFerry à votre serveur ntfy HTTPS
NotiFerry prend en charge les serveurs ntfy auto-hébergés directement dans Réglages → Connexion :
- URL du serveur : saisissez l’adresse HTTPS complète de votre serveur (par exemple
https://ntfy.exemple.frou votre domaine Tailscalehttps://machine.tailnet.ts.net). NotiFerry exige HTTPS et refuse les identifiants intégrés dans l’URL. - Authentification : choisissez Jeton d’accès (envoie
Authorization: Bearer tk_...) ou Nom d’utilisateur et mot de passe (HTTP Basic). Le secret est stocké dans le Trousseau macOS et n’apparaît jamais dans les fichiers de préférences ni dans les rapports de diagnostic. - Sujet secret : conservez le sujet aléatoire ou indiquez le sujet autorisé via
ntfy access, puis cliquez sur Enregistrer la connexion. - Confirmer le test sur l’iPhone : cliquez sur Envoyer un test puis sur Je l’ai reçu sur mon iPhone dès que l’alerte apparaît dans l’application iOS
ntfy.
Voir comment NotiFerry fonctionne sur votre Mac
Autorisez en lecture seule le dossier du Centre de notifications (sans Accès complet au disque), abonnez-vous à votre sujet privé dans l’application gratuite ntfy sur iPhone et confirmez la réception d’un test réel pour démarrer l’essai de 7 jours.
brew install --cask n2ctech/tap/notiferry
Questions
NotiFerry exige-t-il HTTPS pour un serveur ntfy auto-hébergé ?
Oui. Comme les notifications transférées et le jeton Bearer ou mot de passe transitent sur le réseau, NotiFerry impose une URL https:// dotée d’un certificat TLS valide (Let's Encrypt via Caddy/NGINX, Cloudflare Tunnel ou Tailscale HTTPS).
Où NotiFerry stocke-t-il mon jeton Bearer ou mon mot de passe ntfy ?
NotiFerry enregistre votre sujet secret, votre jeton d’accès Bearer et votre mot de passe dans le Trousseau macOS (Keychain). Ils ne sont jamais écrits en clair dans les préférences ni inclus dans le rapport de diagnostic.
L’avertissement de quota de 250 messages par jour s’applique-t-il en auto-hébergé ?
Non. Le compteur local sur 24 heures ne s’affiche que lorsque vous utilisez le service public ntfy.sh. Sur votre propre serveur HTTPS, les limites dépendent uniquement de votre configuration.