Ce guide fournit des instructions pour l'installation du serveur ntfy sur diverses distributions Linux, ainsi que d'autres systèmes d'exploitation. ntfy est un simple service de notification pub-sub basé sur HTTP.
Cette méthode fonctionne sur toutes les distributions Linux qui prennent en charge l'architecture spécifique de votre système.
Exécutez uname -m pour vérifier votre architecture:
x86_64 ou amd64armv7 ou armhfarm64 (armel)armv6Exemple pour x86_64/amd64:
wget https://github.com/binwiederhier/ntfy/releases/download/v2.28.0/ntfy_2.28.0_linux_amd64.tar.gz
tar zxvf ntfy_2.28.0_linux_amd64.tar.gz
Exemple pour armv7/armhf:
wget https://github.com/binwiederhier/ntfy/releases/download/v2.28.0/ntfy_2.28.0_linux_armv7.tar.gz
tar zxvf ntfy_2.28.0_linux_armv7.tar.gz
Exemple pour arm64:
wget https://github.com/binwiederhier/ntfy/releases/download/v2.28.0/ntfy_2.28.0_linux_arm64.tar.gz
tar zxvf ntfy_2.28.0_linux_arm64.tar.gz
# Copy the binary to /usr/bin
sudo cp -a <architecture>/ntfy /usr/bin/ntfy
# Create config directory and copy files
sudo mkdir -p /etc/ntfy
sudo cp <architecture>/client/client.yml /etc/ntfy/
sudo cp <architecture>/server/server.yml /etc/ntfy/
sudo ntfy serve
Si vous voulez que le serveur démarre automatiquement au démarrage, utilisez systemd.
systemctl --version).Copier le fichier de l'unité de service:
# Replace <architecture> with your system's architecture (e.g., amd64, armv7)
sudo mv <architecture>/server/ntfy.service /etc/systemd/system/
sudo chmod 644 /etc/systemd/system/ntfy.service
Rechargez Systemd et démarrez le service:
sudo systemctl daemon-reload
sudo systemctl enable ntfy
sudo systemctl start ntfy
Vérifier le statut:
sudo systemctl status ntfy
Pour les systèmes utilisant OpenRC (par exemple, Alpine Linux, Gentoo).
Copiez le script de service:
# Replace <architecture> with your system's architecture
sudo mv <architecture>/server/ntfy.openrc /etc/init.d/ntfy
sudo chmod 755 /etc/init.d/ntfy
Démarrer le service:
sudo rc-service ntfy start
Ajouter au niveau d'exécution par défaut (pour démarrer au démarrage) :
sudo rc-update add ntfy default
Remarque: À partir de la fin de 2025, le dépôt officiel a déménagé à archive.ntfy.sh. L'ancien (heckel.io) est obsolète.
# Add keyring
sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/ntfy.gpg https://archive.ntfy.sh/apt/keyring.gpg
sudo apt install apt-transport-https
# Add repository
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/ntfy.gpg] https://archive.ntfy.sh/apt stable main" | sudo tee /etc/apt/sources.list.d/ntfy.list
# Update and Install
sudo apt update
sudo apt install ntfy
wget https://github.com/binwiederhier/ntfy/releases/download/v2.28.0/ntfy_2.28.0_linux_amd64.deb
sudo dpkg -i ntfy_*.deb
sudo systemctl enable ntfy
sudo systemctl start ntfy
# Install RPM
sudo rpm -ivh https://github.com/binwiederhier/ntfy/releases/download/v2.28.0/ntfy_2.28.0_linux_amd64.rpm
# Enable and Start
sudo systemctl enable ntfy
sudo systemctl start ntfy
paru -S ntfysh-bin
curl https://aur.archlinux.org/cgit/aur.git/snapshot/ntfysh-bin.tar.gz | tar xzv
cd ntfysh-bin
makepkg -si
services.ntfy-sh.enable = true; à votre /etc/nixos/configuration.nix et lancez nixos-rebuild switch.nix-env -iA ntfy-shpkg install go-ntfy
macOS prend en charge la CLI (ntfy publish, ntfy subscribe) mais ne prend pas en charge le serveur via des packages officiels.
curl -L https://github.com/binwiederhier/ntfy/releases/download/v2.28.0/ntfy_2.28.0_darwin_all.tar.gz > ntfy.tar.gz
tar zxvf ntfy.tar.gz
sudo cp -a ntfy_2.28.0_darwin_all/ntfy /usr/local/bin/ntfy
mkdir ~/Library/Application\ Support/ntfy
cp ntfy_2.28.0_darwin_all/client/client.yml ~/Library/Application\ Support/ntfy/client.yml
Remarque : Pour exécuter le serveur sur macOS, vous devez le compiler manuellement à l'aide de Go (voir Instructions de compilation).
brew install ntfy
Cela installe uniquement la CLI. L'installation du serveur nécessite des étapes manuelles.
ntfy.exe dans votre %Path% (par exemple, C:\Program Files\).ntfy.exe -h
sc create ntfy binPath="C:\path\to\ntfy.exe serve" start=auto
sc start ntfy
docker run -p 80:80 -it binwiederhier/ntfy serve
docker run \
-v /var/cache/ntfy:/var/cache/ntfy \
-p 80:80 \
-it \
binwiederhier/ntfy \
serve \
--cache-file /var/cache/ntfy/cache.db
docker run \
-v /etc/ntfy:/etc/ntfy \
-e TZ=UTC \
-p 80:80 \
-u UID:GID \
-it \
binwiederhier/ntfy \
serve
version: '3'
services:
ntfy:
image: binwiederhier/ntfy
container_name: ntfy
command: ["serve"]
environment:
- TZ=UTC
user: "1000:1000" # Replace with your UID/GID
volumes:
- /var/cache/ntfy:/var/cache/ntfy
- /etc/ntfy:/etc/ntfy
ports:
- "80:80"
healthcheck:
test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:80/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"]
interval: 60s
timeout: 10s
retries: 3
start_period: 40s
restart: unless-stopped
init: true
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: ntfy
spec:
serviceName: ntfy
replicas: 1
selector:
matchLabels:
app: ntfy
template:
metadata:
labels:
app: ntfy
spec:
containers:
- name: ntfy
image: binwiederhier/ntfy
args: ["serve", "--cache-file", "/var/cache/ntfy/cache.db"]
ports:
- containerPort: 80
name: http
volumeMounts:
- name: config
mountPath: /etc/ntfy
readOnly: true
- name: cache
mountPath: /var/cache/ntfy
volumes:
- name: config
configMap:
name: ntfy
- name: cache
persistentVolumeClaim:
claimName: ntfy-cache
---
apiVersion: v1
kind: Service
metadata:
name: ntfy
spec:
selector:
app: ntfy
ports:
- port: 80
targetPort: 80
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: ntfy-cache
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
sudo journalctl -u ntfy (systemd) ou sudo rc-service ntfy status (OpenRC).server.yml ou la commande d'exécution de Docker (-p 8080:80)./etc/ntfy/client.yml (ou ~/.config/ntfy/client.yml pour les non-root)./etc/ntfy/server.yml.Modifiez ces fichiers pour personnaliser les paramètres tels que le fuseau horaire, la taille maximale des messages ou la politique de rétention.
user dans Docker ou le service systemd).Pour plus de détails, consultez le ntfy GitHub Repository.
Après avoir acheté cette application sur Esadax, vous serez invité à fournir les paramètres de configuration ci-dessous. Esadax ajoute les variables fournies au déploiement afin que l'application puisse être lancée avec la configuration requise.
| Paramètre | Description : |
|---|---|
ADMIN_USERNAME |
Valeur fournie au déploiement pour ADMIN_USERNAME. |
ADMIN_PASSWORD |
Valeur fournie au déploiement pour ADMIN_PASSWORD. |
Une fois les valeurs configurées, cliquez sur Déployer pour lancer l'application. L'application achetée utilisera les valeurs de configuration fournies, y compris les informations d'identification telles que les noms d'utilisateur et les mots de passe lorsque ces paramètres sont fournis.