Cómo instalar ntfy en Docker - Notificaciones push simples en Docker

ntfy | Push Notifications | Docker

ntfy: Servicio de notificaciones push minimalista en Docker

Envía notificaciones desde scripts sin registro, sin API keys, sin comisiones. Con un simple curl a un tema. Open source, autohospedado, extremadamente simple.

¿Qué es ntfy?


ntfy (pronunciado "notify") es un servicio de notificaciones push minimalista y basado en HTTP. La idea es tan simple como revolucionaria: en lugar de registrarte, compilar una lista de temas y enviar notificaciones con un simple POST a una URL.

Cero fricción: no necesitas crear cuenta, no necesitas API keys complicadas, no necesitas autenticación. Solo un simple `curl -d "mensaje" ntfy.sh/mi_tema` desde tu script de backup, cron job o cualquier sistema. Puedes usar ntfy.sh gratuito en la nube, o auto-alojar tu propia instancia en Docker para máxima privacidad y control.

Filosofía: Notificaciones sin complejidad. Sin frameworks, sin API complicada, sin OAuth. Solo HTTP y tópicos.

Características principales

Cero complejidad

Un solo comando: curl -d "mensaje" ntfy.sh/mi_tema

Sin registro necesario

No hay cuentas, contraseñas, API keys. Solo temas.

Apps Android e iOS

Nativas en Google Play, F-Droid e App Store.

Web UI

Interfaz web funcional en tu navegador.

Integraciones webhook

Discord, Slack, email, HTTP, Twilio, Telegram.

Prioridades

Controla nivel de urgencia (1-5).

Adjuntos

Envía imágenes, videos y archivos.

Actualizar y borrar

Modifica notificaciones después de enviarlas.

Heartbeat/Dead man's switch

Alerta si no recibes confirmación esperada.

Autohospedable

Binario único, sin dependencias externas.

Open Source

Apache 2.0 y GPL-2.0 completamente auditable.

Persistencia

SQLite o PostgreSQL para cachear mensajes.

Requisitos del sistema

  • Docker instalado
  • 128 MB de RAM mínimo (funciona en cualquier lugar)
  • 50 MB de espacio en disco mínimo
  • Puerto 80 o 8080 disponible
  • Opcional: PostgreSQL para persistencia avanzada

Instalación rápida

Opción 1: Docker Run (15 segundos)

docker run -d \ --name ntfy \ -p 8080:80 \ -v /var/cache/ntfy:/var/cache/ntfy \ binwiederhier/ntfy:latest \ serve \ --cache-file /var/cache/ntfy/cache.db

Accede a http://localhost:8080 inmediatamente.

Opción 2: Docker Compose

version: '3' services: ntfy: image: binwiederhier/ntfy:latest container_name: ntfy restart: unless-stopped ports: - "8080:80" volumes: - ntfy-cache:/var/cache/ntfy command: - serve - --cache-file - /var/cache/ntfy/cache.db volumes: ntfy-cache:
docker compose up -d

Primeros pasos

Enviar notificación desde terminal

# Enviar a tu servidor local curl -d "Hola mundo!" http://localhost:8080/test_topic # O usar ntfy.sh público (sin instalación) curl -d "Mi mensaje" https://ntfy.sh/mi_tema_secreto

Suscribirse en la web UI

  1. Abre http://localhost:8080 en tu navegador
  2. Introduce el nombre del tema: test_topic
  3. Recibirás notificaciones en tiempo real desde scripts

Descargar app Android

  1. Busca "ntfy" en Google Play o F-Droid
  2. Instala la app oficial
  3. Añade tu servidor: http://localhost:8080
  4. Suscribite a temas y recibe notificaciones

Ejemplos de uso en scripts

Script de backup

#!/bin/bash mysqldump -u user -p password db > backup.sql if [ $? -eq 0 ]; then curl -d "Backup completado exitosamente" http://localhost:8080/backups else curl -d "ERROR: Backup fallido" \ -H "Priority: high" \ http://localhost:8080/backups fi

Parámetros avanzados

Título personalizado

curl -d "Mensaje" \ -H "Title: Mi título personalizado" \ http://localhost:8080/tema

Prioridad (1-5)

curl -d "URGENTE" \ -H "Priority: 5" \ http://localhost:8080/tema # 1=silent, 2=quiet, 3=normal, 4=high, 5=max

Etiquetas/Tags

curl -d "Error en servidor" \ -H "Tags: warning,server,critical" \ http://localhost:8080/alerts

Adjuntar imagen

curl -d "Captura de pantalla" \ -H "Attach: https://ejemplo.com/imagen.jpg" \ http://localhost:8080/fotos

Webhook Discord

curl -d "Mensaje" \ -H "Actions: http, Abrir Dashboard, https://dashboard.local" \ http://localhost:8080/tema

Configurar HTTPS con Caddy

ntfy.tudominio.com { reverse_proxy localhost:8080 }

Caddy genera automáticamente certificados Let's Encrypt.

Gestión y mantenimiento

Ver logs

docker compose logs -f ntfy

Reiniciar ntfy

docker compose restart ntfy

Detener

docker compose down

Actualizar a la última versión

docker compose pull docker compose up -d

Casos de uso

  • Scripts de backup: Notificación cuando backups completan o fallan
  • Cron jobs: Alertas de cron jobs fallidos
  • Monitoreo: Alertas de CPU, disco, memoria, servicios caídos
  • Deploys: Notificación cuando CI/CD completa
  • Home automation: Alertas de IoT, intrusion detection
  • Notificaciones simples: Enviar mensajes rápidos sin complejidad
  • Pruebas: Desarrollo y testing de integraciones

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.