Gotify
Un servidor de notificaciones push autohospedado que puedes curl.
Gotify es un servidor diminuto autohospedado que deja a cualquier script, app o sistema de alertas enviar notificaciones push a tu teléfono con un solo curl. Un binario Go, backed por SQLite, imagen ~15 MB, cliente Android nativo. El reemplazo de Pushover/Pushbullet cuando quieres control total y cero costo por mensaje.
Desplegar con Pier
- 1 Abre el panel de Pier y haz clic en Add service.
- 2 Elige Gotify en la lista de plantillas.
- 3 Elige la versión, asigna un nombre al servicio y Pier provisionará automáticamente el contenedor, el almacenamiento y los puertos.
- 4 Vincula un dominio si quieres HTTPS. Traefik genera el certificado de Let's Encrypt automáticamente.
¿Qué es Gotify?
Gotify es un servidor pequeño, rápido, autohospedado para enviar notificaciones push a un smartphone. Expone un solo endpoint HTTP — POST un título, mensaje y prioridad con un token de aplicación, y en un segundo tu teléfono Android recibe una notificación.
El servidor entero es un binario Go más un archivo SQLite. La app Android mantiene un websocket de larga vida al servidor, drena mensajes cuando llegan, y reconecta en cambio de red con backoff exponencial. No hay servicio centralizado de push, sin Google Cloud Messaging, sin Apple Push Notification Service en el loop — tu teléfono habla con tu servidor directamente.
Para desarrolladores que ya corren un homelab o VPS, Gotify reemplaza Pushover/Pushbullet gratis, da a cada herramienta de monitorización un endpoint de notificación curl-eable, y agrega un trozo útil de plumbing a cualquier stack de home automation o alertas.
Cómo lo despliega Pier
Pier usa la imagen oficial gotify/server. Puerto por defecto — 80
internamente (detrás de Traefik). El volumen de datos monta en /app/data —
base de datos SQLite y cualquier plugin instalado.
En el primer lanzamiento configuras la contraseña admin vía env vars (Pier la genera por ti). Inicia sesión, crea una aplicación, copia su token, y puedes enviar tu primera notificación con curl en menos de un minuto.
Adjunta un dominio custom en Pier para que la URL sea HTTPS — los tokens Gotify viajan en headers HTTP planos y TLS es esencial.
Cuándo NO usar Gotify
Para hogares iOS-first, ntfy.sh tiene un cliente iOS pulido y Gotify no. Para mensajería de equipo multi-plataforma, usa una plataforma de chat (Mattermost, Matrix). Para emails puramente transaccionales o SMS, usa una gateway dedicada de email/SMS. Gotify está enfocado láser en notificaciones push personales a Android, y excele exactamente ahí.
Características clave
Notificaciones con un solo curl
Envía una notificación con un solo HTTP POST — cualquier script, cron job, herramienta de monitorización, pipeline CI o shell one-liner puede empujar a tu teléfono.
Huella diminuta
Binario Go único, imagen ~15 MB, ~25 MB RAM. No cuesta nada correrlo junto a tus otros servicios.
App Android nativa
Cliente Android open-source gratuito en Play Store y F-Droid. Conexión websocket estable, amigable con batería, notificaciones confiables.
Tokens por aplicación
Cada remitente (cron, GitHub, tu shell, Beszel) tiene su propio token de aplicación. Revoca individualmente sin romper otros.
Prioridades y agrupamiento
Los mensajes tienen niveles de prioridad (0-10) que mapean a importancia de notificación en el cliente. Agrupa mensajes por aplicación para UI limpia.
Sistema de plugins
Plugins Go opcionales pueden correr dentro de Gotify para tirar de fuentes externas (RSS, email, etc.) sin escribir un pusher separado.
Casos de uso
Alertas de monitorización
Prometheus / Beszel / Uptime Kuma / Healthchecks.io empujan a tu teléfono vía webhook Gotify. Sin facturas SMS, sin cuenta Twilio, sin servicio terceros.
Notificaciones de cron jobs
Cron jobs de larga duración (backups, ETL, runs de entrenamiento) hacen curl a Gotify cuando terminan o fallan. Dejas de preguntar "¿funcionó?"
Notificaciones CI / deploy
GitHub Actions, GitLab CI, Drone, Forgejo Actions empujan estado de deploy a tu teléfono vía curl. Más rápido que email, sin Slack requerido.
Scripts personales y home automation
Triggers de timbre, alertas smart-home, "la ropa terminó" pings — cualquier cosa con curl puede despertar tu teléfono.
Puentear desde otros sistemas
Usa mqtt-to-gotify, gotify-bridge, o un proxy custom para forwardear notificaciones desde MQTT, AMQP o webhooks dentro de Gotify.
Ejemplos de código
curl "https://gotify.example.com/message?token=$APP_TOKEN" \
-F "title=Backup completo" \
-F "message=db dump 4.2 GB" \
-F "priority=5" import requests
requests.post(
"https://gotify.example.com/message",
params={"token": app_token},
data={
"title": "Run de entrenamiento terminado",
"message": "epoch 42, loss 0.018",
"priority": 7,
},
timeout=5,
) receivers:
- name: gotify
webhook_configs:
- url: "https://gotify.example.com/message?token=APP_TOKEN"
send_resolved: true websocat "wss://gotify.example.com/stream?token=$CLIENT_TOKEN" Comparativa
| vs Pushover | Pushover es alojado, pulido, cuesta ~$5 one-time por plataforma. Gotify es autohospedado, gratis, menos pulido pero totalmente bajo tu control. Mismo caso de uso. |
| vs ntfy.sh | ntfy es otro excelente servidor de notificaciones autohospedado con modelo de suscripción más simple basado en URL. Gotify usa tokens por aplicación — un poco más de setup, un poco más de seguridad. Ambos geniales. |
| vs Bot Telegram | Telegram es gratis y confiable pero cada notificador necesita un bot + chat ID y el formato del mensaje es conversacional. Gotify es más simple para casos "alertas a mi teléfono". |
| vs Pushbullet | Pushbullet fue adquirido y pivoteó; confiabilidad y precio son ahora inciertos. Gotify es la respuesta autohospedada. |
Preguntas frecuentes
¿Hay cliente iOS?
¿Cómo se guardan los mensajes?
¿Seguridad de tokens?
¿Impacto de batería en Android?
¿Sistema de plugins — qué pueden hacer los plugins?
¿Estrategia de backup?
¿Qué versión despliega Pier?
Servicios relacionados
Desplegar en tu VPS
Gotify es un servidor diminuto autohospedado que deja a cualquier script, app o sistema de alertas enviar notificaciones push a tu teléfono con un solo curl. Un binario Go, backed por SQLite, imagen ~15 MB, cliente Android nativo. El reemplazo de Pushover/Pushbullet cuando quieres control total y cero costo por mensaje.
Desplegar este servicio →