====== Gotify ======
Servicio autoalojado para enviar y recibir mensajes / notificaciones.
* [[https://gotify.net/|Web oficial]]
* [[https://github.com/gotify|Repositorio de código]]
* [[https://gotify.net/docs/|Documentación]]
{{ https://gotify.net/img/ui.png |}}
===== Conceptos =====
* **Cliente**: dispositivo o aplicación que puede gestionar clientes, mensajes y aplicaciones. Un cliente no puede enviar mensajes.
* **Aplicación**: dispositivo o aplicación que solo puede enviar mensajes.
* **Usuario**: capaces de gestionar (ver, editar y borrar) clientes y aplicaciones que hayan creado.
{{ https://gotify.net/img/intro.png |}}
Un mensaje está compuesto de:
* Contenido
* Título
* Fecha de creación
* ID de aplicación
* Prioridad
===== Instalación del servidor =====
==== Docker ====
Ejemplo de Docker Compose:
services:
gotify:
image: gotify/server
ports:
- 8002:80
environment:
- GOTIFY_DEFAULTUSER_PASS=custom
- TZ=Europe/Madrid
volumes:
- "./data:/app/data"
restart: unless-stopped
Podremos acceder a http://localhost:8002 con el usuario ''admin'' y la contraseña ''custom''.
===== Uso =====
Necesitamos una aplicación que envíe mensajes al servidor de Gotify. Solo el usuario que crea la aplicación podrá ver sus mensajes.
Vamos a la sección **APPS** y pulsamos en **Create application**. Tras la creación, se habrá establecido un token para esa aplicación. Este token será necesario para poder enviar notificaciones a esa aplicación.
Por ejemplo, para enviar un mensaje desde la línea de comandos usando [[informatica:software:cli:curl|cURL]] a la aplicación recién creada:
curl "http://servidor.con.gotify.server/message?token=B1ChjtzhpSorK0B" -F "title=Titulo mensaje" -F "message=Contenido del mensaje" -F "priority=10"
Solamente el parámetro ''message'' es obligatorio.
* [[https://gotify.net/docs/more-pushmsg|Más ejemplos para enviar mensajes desde línea de comandos o lenguajes de programación]].
===== Gotify Android =====
[[https://github.com/gotify/android|Gotify Android]] es una aplicación para Android que se conecta a un servidor Gotify y muestra las notificaciones de nuevos mensajes.
==== Notificaciones ====
^ Notificación ^ Prioridad en Gotify ^
| - | 0 |
| Icono en la barra de notificaciones | 1 - 3 |
| Icono en la barra de notificaciones y sonido | 4 - 7 |
| Icono en la barra de notificaciones, sonido y vibración | 8 - 10 |
===== gotify-cli =====
[[https://github.com/gotify/cli|Gotify-CLI]] es un cliente en línea de comandos para enviar mensajes al servidor de Gotify. Alternativa simple a usar cURL u otra opción desde algún lenguaje de programación.
==== Configuración ====
gotify init
Se lanzará el asistente que nos permitirá configurar Gotify-CLI para usarlo con la instancia de servidor de Gotify.
Al terminal, podremos elegir en qué ubicación guardar la configuración:
* ''./cli.json''
* ''~/.config/gotify/cli.json''
* ''~/.gotify/cli.json''
* ''/etc/gotify/cli.json''
==== Uso ====
Varios ejemplos de uso:
gotify push my message
gotify push "my message"
echo my message | gotify push
gotify push < somefile
gotify push -t "my title" -p 10 "my message"