Русский
Начать

← Все шаблоны · Аналитика и мониторинг

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

Сервер push-сообщений: скрипты отправляют их через REST API, а веб-приложение и приложение для Android сразу их показывают

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

Что такое Gotify?

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

Gotify различает приложения и клиентов: приложение может только отправлять, а клиент, например телефон или браузер, получает сообщения и управляет ими. У каждого пользователя свои приложения, клиенты и сообщения, а пользователей добавляет администратор в веб-приложении. Приложение для Android есть в Google Play и F-Droid, gotify CLI отправляет сообщения из терминала, а плагины, написанные на Go, добавляют возможности на сервере.

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

Хостинг Gotify на Pethost

  1. Вы входите в Pethost — с passkey, через GitHub или Google. Машины еще нет? Вы выбираете тариф, и ссылка ждет, пока машина не будет готова.
  2. Окно «Новый проект» открывается на приложении Gotify. Вы заполняете то, что оно просит, и нажимаете «Создать проект»: Имя пользователя, Пароль администратора.
  3. Через минуту-две Gotify работает по своему адресу с HTTPS. Секреты создаются случайно, а данные попадают в ночной бэкап.
  4. Это проект как любой другой: вы или ваш агент можете его изменить, откатить или восстановить.

Вопросы про Gotify

Gotify бесплатный и с открытым кодом?

Да. Сервер, веб-приложение, приложение для Android и CLI Gotify распространяются с открытым кодом под лицензией 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:

Еще в категории «Аналитика и мониторинг»