121 lines
3.0 KiB
Markdown
121 lines
3.0 KiB
Markdown
# Administration ntfy
|
|
|
|
Toutes les commandes s'exécutent depuis le dossier contenant le `docker-compose.yml`.
|
|
|
|
---
|
|
|
|
## Utilisateurs
|
|
|
|
### Lister les utilisateurs
|
|
```bash
|
|
docker exec -it ntfy ntfy user list
|
|
```
|
|
|
|
### Ajouter un utilisateur standard
|
|
```bash
|
|
docker exec -it ntfy ntfy user add prenom_user
|
|
# → saisir le mot de passe interactivement
|
|
```
|
|
|
|
### Ajouter un administrateur
|
|
```bash
|
|
docker exec -it ntfy ntfy user add --role=admin prenom_user
|
|
```
|
|
|
|
### Changer le mot de passe
|
|
```bash
|
|
docker exec -it ntfy ntfy user change-pass prenom_user
|
|
```
|
|
|
|
### Promouvoir un user en admin (ou l'inverse)
|
|
```bash
|
|
docker exec -it ntfy ntfy user change-role prenom_user admin
|
|
docker exec -it ntfy ntfy user change-role prenom_user user
|
|
```
|
|
|
|
### Supprimer un utilisateur
|
|
```bash
|
|
docker exec -it ntfy ntfy user del prenom_user
|
|
```
|
|
|
|
---
|
|
|
|
## Droits d'accès (ACL)
|
|
|
|
Après avoir créé un utilisateur, il faut lui donner accès aux topics UnifiedPush.
|
|
|
|
### Donner accès à un nouvel utilisateur
|
|
```bash
|
|
# Synapse peut publier sur les topics "up*" sans compte
|
|
docker exec -it ntfy ntfy access '*' 'up*' write-only
|
|
|
|
# Le user peut lire ses topics "up*"
|
|
docker exec -it ntfy ntfy access prenom_user 'up*' read-only
|
|
```
|
|
|
|
> Ces deux commandes sont à exécuter pour **chaque nouvel utilisateur**.
|
|
|
|
### Voir toutes les ACL configurées
|
|
```bash
|
|
docker exec -it ntfy ntfy access
|
|
```
|
|
|
|
### Révoquer les droits d'un utilisateur sur un topic
|
|
```bash
|
|
docker exec -it ntfy ntfy access --reset prenom_user 'up*'
|
|
```
|
|
|
|
### Révoquer tous les droits d'un utilisateur
|
|
```bash
|
|
docker exec -it ntfy ntfy access --reset prenom_user
|
|
```
|
|
|
|
---
|
|
|
|
## Checklist : ajouter un nouvel utilisateur
|
|
|
|
```bash
|
|
# 1. Créer le compte
|
|
docker exec -it ntfy ntfy user add prenom_user
|
|
|
|
# 2. Donner accès aux topics UnifiedPush
|
|
docker exec -it ntfy ntfy access '*' 'up*' write-only
|
|
docker exec -it ntfy ntfy access prenom_user 'up*' read-only
|
|
|
|
# 3. Vérifier
|
|
docker exec -it ntfy ntfy user list
|
|
docker exec -it ntfy ntfy access
|
|
```
|
|
|
|
Ensuite, communiquer à l'utilisateur :
|
|
- L'URL du serveur : `https://ntfy.mondomaine.fr`
|
|
- Son login et mot de passe
|
|
- Lui demander d'installer l'app ntfy (F-Droid ou Play Store)
|
|
|
|
---
|
|
|
|
## Dépannage
|
|
|
|
### Un utilisateur ne reçoit pas ses notifications
|
|
|
|
1. Vérifier que le Matrix gateway répond (voir Supervision)
|
|
2. Vérifier que Synapse peut joindre ntfy :
|
|
```bash
|
|
# Depuis le conteneur Synapse
|
|
docker exec -it synapse curl https://ntfy.mondomaine.fr/_matrix/push/v1/notify
|
|
```
|
|
3. Vérifier les ACL de l'utilisateur :
|
|
```bash
|
|
docker exec -it ntfy ntfy access prenom_user
|
|
```
|
|
4. Dans Element-X : Paramètres → Notifications → Troubleshoot notifications
|
|
|
|
### Les logs montrent des 401 (Unauthorized)
|
|
L'utilisateur n'a pas configuré ses identifiants dans l'app ntfy,
|
|
ou les identifiants sont incorrects. Refaire un `change-pass` si besoin.
|
|
|
|
### Les logs montrent des 429 (Too Many Requests)
|
|
Le rate limiting est déclenché. Si c'est un usage légitime,
|
|
ajuste `visitor-message-daily-limit` dans `config/server.yml`.
|
|
Si c'est un abus, l'IP source sera dans les logs.
|