====== 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"