ntfy¶
Servicio de notificaciones push. Podés mandar alerts desde cualquier script o servicio con un simple
curl. También soporta UnifiedPush.
📁 Rutas y configs¶
| Qué | Dónde |
|---|---|
| Compose | /opt/docker/ntfy/compose.yaml |
| Config | /opt/docker/ntfy/data/server.yml |
| Cache | /opt/docker/ntfy/cache/ |
| Usuarios/permisos (DB bcrypt) | /opt/docker/ntfy/data/user.db |
Contenedor: ntfy Puerto: 8521
🔐 Autenticación (habilitada)¶
ntfy corre con auth-default-access: deny-all en server.yml. Nadie puede publicar ni leer nada sin credenciales.
matias(rol admin): lee y escribe en todos los topics. Usalo en la app del celu para subscribirte.homelab(usuario de servicio) + token: solo publicar enhomelab-securityyAlertas.- Token en
/opt/scripts/ntfy.env(root:matias 640, NO versionado):NTFY_TOKEN=tk_....
Los scripts del homelab (docker-watchdog.sh, ntfy-notify-failure.sh, security/report.py, ntfy-upgrade-notify.sh) sourcean ese .env y mandan el header Authorization: Bearer $NTFY_TOKEN.
Operaciones¶
# Listar usuarios y permisos
docker exec ntfy ntfy user list
docker exec ntfy ntfy access list
# Cambiar password del admin (matias)
docker exec -e NTFY_PASSWORD=NUEVA ntfy ntfy user change-pass matias
# Crear otro token para el usuario de servicio
docker exec ntfy ntfy token add --label="nombre" homelab
🚀 Cómo usar¶
# Notificación simple (con auth del admin desde el celu/hombre)
curl -u "matias:TUPASS" -d "Hola mundo" https://ntfy.matias7235.com.ar/mitopic
# Publicar con token de servicio (scripts)
. /opt/scripts/ntfy.env
curl -H "Authorization: Bearer $NTFY_TOKEN" \
-H "Title: Alerta" -H "Priority: high" \
-d "El servidor se está quemando" \
https://ntfy.matias7235.com.ar/Alertas
Los topics se crean automáticamente al primer uso — no hay que preconfigurarlos, pero sí hay que dar permiso (ntfy access <user> <topic> <read|write>) porque el default es deny-all.
📱 Apps¶
- Android: ntfy (F-Droid:
io.heckel.ntfy) - iOS: ntfy
- Web:
https://ntfy.matias7235.com.ar(pedirá login)
En la app, agregá el servidor https://ntfy.matias7235.com.ar, logueate como usuario matias y subscribite a los topics. Topics en uso: Alertas (caídas systemd/docker), homelab-security (reportes de seguridad/updates).
🔔 Integración con Uptime Kuma¶
Uptime Kuma publica a ntfy; si arma notificaciones a topics con auth, configurá usuario/token en el webhook de Kuma (Basic auth o header Authorization: Bearer).
🔐 Seguridad¶
- ✅ Expuesto públicamente vía Caddy (
ntfy.matias7235.com.ar) - ✅ Auth habilitada (default deny-all) — sin credenciales no se publica ni se lee.
- Logs de acceso en
/opt/docker/cady/logs/sensitive.access.log(fail2bancaddy-auth).