Українська
Почати

← Усі шаблони · Аналітика й моніторинг

Задеплойте Gotify в один клік

Сервер push-повідомлень: скрипти надсилають їх через REST API, а вебзастосунок і застосунок для Android одразу їх показують

Альтернатива Pushover і Pushbullet на вашій машині.

Що таке Gotify?

Gotify — сервер з відкритим кодом для надсилання й отримання повідомлень, написаний на Go; його використовують замість Pushover або Pushbullet. Скрипт, cron-задача чи інструмент моніторингу надсилає повідомлення одним HTTP-запитом із токеном застосунку, а вебзастосунок і застосунок для Android одразу отримують його через WebSocket і показують як сповіщення. Кожне повідомлення має заголовок, текст і пріоритет, а через поле extras його можна показати як Markdown або відкрити посилання, коли людина торкнеться сповіщення.

Gotify розрізняє застосунки й клієнти: застосунок може лише надсилати, а клієнт, як-от телефон чи браузер, отримує повідомлення й керує ними. Кожен користувач має свої застосунки, клієнти й повідомлення, а адміністратор додає користувачів у вебзастосунку. Застосунок для Android є в Google Play і F-Droid, CLI gotify надсилає повідомлення з термінала, а плагіни, написані на Go, розширюють можливості сервера.

Цей шаблон запускає офіційний образ Gotify версії 3, а його база даних SQLite й завантажені зображення лежать у томі. Адміністратор створюється з імені користувача й пароля, які ви вказали, коли Gotify уперше створює свою базу даних, ще до того, як він комусь відповість, а реєстрація лишається закритою.

Хостинг Gotify на Pethost

  1. Ви входите в Pethost — з ключем доступу, через GitHub або Google. Машини ще немає? Ви обираєте тариф, і посилання чекає, доки машина не буде готова.
  2. Вікно «Новий проєкт» відкривається на застосунку Gotify. Ви заповнюєте те, що він просить, і натискаєте «Створити проєкт»: Ім’я користувача, Пароль адміністратора.
  3. За хвилину-дві Gotify працює за власною адресою з HTTPS. Секрети створюються випадково, а дані потрапляють у щонічний бекап.
  4. Це проєкт як будь-який інший: ви або ваш агент можете його змінити, відкотити або відновити.

Питання про Gotify

Gotify безкоштовний і з відкритим кодом?

Так. Сервер Gotify, його вебзастосунок, застосунок для Android і CLI мають відкритий код за ліцензією MIT, а платної редакції немає: платити доведеться лише за сервер, на якому він працює.

Як надіслати повідомлення в Gotify через curl?

Створіть застосунок у вебінтерфейсі, скопіюйте його токен і надішліть POST-запит на /message: curl https://gotify.example.com/message -H "X-Gotify-Key: <token>" -F title=Backup -F message=Done -F priority=5. Обов’язкове лише поле message.

Gotify чи ntfy: що обрати?

Обидва доставляють повідомлення від скриптів на телефони. Gotify дає кожному відправникові токен застосунку, а кожному користувачеві — окрему скриньку, і його офіційний застосунок створено для Android. ntfy публікує повідомлення в теми, на які може підписатися будь-хто з доступом, і має застосунки для Android та iOS.

Чи працює Gotify на iPhone?

Офіційний застосунок Gotify є лише для Android. На iPhone вебзастосунок показує повідомлення, поки він відкритий, а сторонні застосунки, як-от iGotify, пересилають їх через push-сервіс Apple.

Чи можна ще раз побачити токен Gotify?

Ні. Починаючи з Gotify 3, токен застосунку показується лише раз, коли його створюють або перевипускають, тож одразу скопіюйте його. Якщо його втрачено, перевипустіть його на сторінці «Apps» і оновіть скрипт, який ним надсилає.

Скільки пам’яті й диска потрібно Gotify?

Gotify має дуже скромні вимоги: близько 10 MB пам’яті, а його база даних SQLite росте лише з повідомленнями, які ви зберігаєте. На Pethost йому вистачить тарифу Starter, і поруч залишиться місце для інших застосунків.

Gotify: файл Docker Compose

Шаблон — це цей compose.yaml і змінні, які записуються в .env проєкту під час його створення. Pethost запускає файл так, як його написано.

Контейнери: gotify (gotify/server:3).

Томи, у щонічному бекапі: data.

services:
  gotify:
    image: gotify/server:3
    restart: unless-stopped
    environment:
      # The admin is made from these when Gotify creates its database, at the first start, before
      # it answers anyone; a later change of the password is made in Gotify's Users page.
      GOTIFY_DEFAULTUSER_NAME: ${ADMIN_USERNAME}
      GOTIFY_DEFAULTUSER_PASS: ${ADMIN_PASSWORD}
      # Only the admin adds users: nobody registers by the address.
      GOTIFY_REGISTRATION: "false"
      # The machine's proxy, whose X-Forwarded-For carries the visitor's address.
      GOTIFY_SERVER_TRUSTEDPROXIES: 10.192.0.0/10
      GOTIFY_SERVER_SECURECOOKIE: "true"
      TZ: Etc/UTC
    volumes:
      - data:/app/data
volumes:
  data:

Ще в категорії «Аналітика й моніторинг»